Ajuda com laço de repetição

Olá pessoal.

Estou estudando Java e preciso de ajuda para resolver um exercicio de código. Apesar de, achar um desafio para mim, não quero colar, quero conseguir entender. O código é para buscar um valor dentro de um vetor, através da classe Scanner. Resolvi usar If/else,porém a mensagem do “else” está imprimindo em cada posição do vetor. Não sei o que está faltando pois, o objetivo é percorrer o vetor e impimir a posição[i] quando encontrada e quando não encontrada, com a mensagem “encontrado” e “não encontrado”,uma unica vez, após percoriddo o vetor. Alguém por favor pode me ensinar? Segue meu código:
// IMPORTANTE: Para ler os dados de entrada do usuário, utilize a classe Scanner,
// instanciando seu leitor da seguinte forma: “Scanner leitor = new Scanner(System.in);”.
// Por outro lado, para imprimir suas saídas, utilize System.out.print ou System.out.println.

import java.util.*;

public class buscaSequencial {

public static void main(String[] args) {

    Scanner leitor = new Scanner(System.in);
    

     int numero=leitor.nextInt(); 
    
       
    int[] elementos = {64, 137, -16, 43, 67, 81, -90, 212, 10, 75}; 
  
                         
    for (int i = 0; i < elementos.length; i++) {

        if (numero==elementos[i]) {

             
            System.out.println("O valor digitado "+ numero + " foi contrado na posição " + i);
                    
        } else if (numero!=elementos[i]) {
            
            System.out.println("Valor digitado "+ numero+ " não encontrado");
                                     
            }              
     }
}

}

Se não quer que imprima a mensagem toda hora, então não o faça dentro do loop.

Em vez disso, vc só marca a posição encontrada, e depois do for vc verifica se encontrou:

int numero = leitor.nextInt();
int[] elementos = {64, 137, -16, 43, 67, 81, -90, 212, 10, 75};

// inicialmente, não encontrou nada, então coloco um valor inválido (-1)
int posicaoEncontrada = -1;
for (int i = 0; i < elementos.length; i++) {
    if (numero == elementos[i]) {
        posicaoEncontrada = i;
        break; // se encontrou, interrompe o for
    }
}

// depois do for, verifico se encontrou ou não
if (posicaoEncontrada > -1) {
    System.out.println("O valor digitado " + numero + " foi contrado na posição " + posicaoEncontrada);
} else {
    System.out.println("Valor digitado " + numero + " não encontrado");
}
1 curtida