Busca de numero em um Array

Galera bom dia,

Seguinte aleatoriamente 1000 números utilizando um array bidimensional, depois preciso digitar um número e pesquisar se tem no array.

Gerei os números, porém, não estou conseguindo fazer ele buscar corretamente.

Mesmo que eu digite um número que foi gerado ele cai no “else” e informa que não foi encontrado o número:

Segue o código:


import javax.swing.JOptionPane;

public class Exercicio3_cap5 {
public static void main(String[] args) {
int [] [] numeros = new int [50] [20];

	for (int linha = 0; linha < 50; linha++){
		for(int coluna = 0; coluna < 20; coluna++){
			numeros [linha] [coluna] = (int) (Math.random() * 1000);
			System.out.println(numeros[linha][coluna]);
		}
	}

	int numDigitado = Integer.parseInt(JOptionPane.showInputDialog("Digite um número para pesquisar: "));
	String mensagem="";
	for(int[] busca: numeros){
		if(busca.equals(numDigitado)){
			mensagem = "Número encontrado!";
		}
		else{
			mensagem = "Número não encontrado!";
		}

	}
	
	JOptionPane.showMessageDialog(null, mensagem);
}

}


Obrigado!

Tente alterar o seu for para este…

... for (int[] busca : numeros) { for(int b : busca) { if (b == numDigitado) { mensagem = "Número encontrado!"; } else { mensagem = "Número não encontrado!"; } } } ...

Estás a percorrer todo o array e não paras quando encontras o número, continuando a ter a mensagem de “Numero não encontrado” para os seguintes. Apenas se o número que procuras for o último do array é que vai dizer “Número encontrado”.
Quando encontras o número deves parar a procura para mostrar a mensagem correta.

for(int[] busca: numeros){
   if(busca == numDigitado){
       mensagem = "Número encontrado!";
       break;    	
    } else {
       mensagem = "Número não encontrado!";
    }
}

Galera fiz uma junção das duas respostas e consegui resolver. Ficando assim:

for(int[] busca: numeros){
for (int b : busca){
if(b == numDigitado){
mensagem = “Número encontrado!”;
break;
}
else{
mensagem = “Número não encontrado!”;
}

	}
	}

Obrigado. :wink: