Stringbusca;System.out.println("Digite o CPF para buscar: ");busca=scan.nextLine();for(qtdP=0;qtdP<100;qtdP++){if(busca.equals(pessoas[qtdP].getNome())){System.out.println("Nome: "+p.getNome());}elseif(qtdP==100-1){System.out.print("Pessoa nao encontrada!");}}}
Esse método está na classe Banco:
Se nao achar a pessoa ele imprime
import java.util.Scanner; public class Banco{
Scannerscan=newScanner(System.in);privatestaticintqtdP=0;privatestaticintqtdC=0;privateContacontas[]=newConta[100];privatePessoapessoas[]=newPessoa[100];publicvoidaddP(Pessoac){this.pessoas[qtdP]=c;qtdP++;}publicvoidverDados(){Pessoap=newPessoa();Stringbusca;System.out.println("Digite o CPF para buscar: ");busca=scan.nextLine();for(qtdP=0;qtdP<100;qtdP++){if(busca.equals(pessoas[qtdP].getNome())){System.out.println("Nome: "+p.getNome());}elseif(qtdP==100-1){System.out.print("Pessoa nao encontrada!");}}}
}
A
Adlizm
qtdP++
for(qtdP=0;qtdP<100;qtdP++)
Essa qtdP deve sera a quantidade de pessoas certo? então deveria não mudar a menos que que addP() seja chamada mas você ta alterando ela no for e no final qtdP vai valer 100 e se adicionar novamente uma pessoa pela addP() vai dar erro porque não vai ter this.pessoas[100]
tenta altera o for para for(int i = 0; i < qtdP; i++) // dai vc ultiliza o " i "
e ve se funciona.
SamuelLira99
uma coisa que eu percebi é que vc está comparando 2 atributos diferentes.
System.out.println("Digite o CPF para buscar: ");busca=scan.nextLine();