import java.util.Scanner;
public class PesquisaArray {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] nome = new String[5];
String pesq;
String resp;
boolean acha;
for(int i = 0; i < 5; i++){
System.out.println("informe o nome: ");
nome[i] = sc.nextLine();
}
resp = "SIM";
while(resp == "SIM"){
System.out.print("Escreva o nome a ser pesquisado: ");
pesq = sc.nextLine();
int i = 0;
acha = false;
while(i <= 5 && acha == false){
//pesq == nome[i] (pesq.equals( nome[i] ))
if(pesq.equals( nome[i] ))
acha = true;
else
i++;
}
if(acha == true)
System.out.println(pesq + " foi localizada na posição " + i);
else
System.out.println(pesq + " nao foi localizado");
System.out.print("Deseja continuar? ");
resp = sc.next();
}
}
}
Esse código é para fazer uma pesquisa em um array de 5 posições
erros:
Quando faz a pesquisa e tem o nome que estar pesquisando na sua pesquisa ele executa corretamente na linha de código:
while(i <= 5 && acha == false){
//pesq == nome[i] (pesq.equals( nome[i] ))
if(pesq.equals( nome[i] ))
acha = true;
mas quando uma pesquisa que não tem o nome que estar pesquisando gera um erro:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at algoritmoPesquisa.PesquisaArray.main(PesquisaArray.java:34)
que o erro estar na linha de código
if(pesq.equals( nome[i] ))
Não tenho menor ideia do que seja alguém poderia me dar uma luz!