Ir ao conteúdo
  • Cadastre-se
joaoufms

Java Buscando dados em um vetor

Recommended Posts

Olá galera, não estou conseguindo fazer uma busca no vetor, peço pro usuário digitar o cpf e logo em seguida faço a consulta.

O exercício é um sistema de cadastro de pessoas e contas, por enquanto eu estou cadastrando só pessoa, então caso a pessoa queira ver seu cadastro ela digita o cpf.

O código estou executando no prompt.

 

Minha classe principal onde tem o menu:

import java.util.Scanner;

public class Principal{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int op;

		do{

		System.out.println("1 - Cadastrar pessoa");
        System.out.println("2 - Criar conta");
        System.out.println("3 - Verificar dados pessoais");

        System.out.println("Escolha uma Opcao:");
        op = scan.nextInt();
        scan.nextLine();
        
        Banco banco = new Banco();
        switch(op){
        	case 1:

        		System.out.println("Digite seu Nome: ");
                String nome = scan.nextLine();
                System.out.println("Digite sua Data de Nascimento: ");
                String dtn = scan.nextLine();
                System.out.println("Digite seu Sexo: ");
                String sexo = scan.nextLine();
                System.out.println("Digite seu CPF: ");
                String cpf = scan.nextLine();

                Pessoa p = new Pessoa();

                p.setNome(nome);
                p.setDtn(dtn);
                p.setSexo(sexo);
                p.setCpf(cpf);

                banco.addP(p);
        		break;
        	case 3:

        	banco.verDados();
        	break;

        	default:
        	if(op==0){
        		System.out.println("Programa Encerrado");	
        	}else{
        		System.out.println("Opcao Inválida");
        	}

        }

        }while(0 !=op);
	}
}

 

Classe onde tem o método:

import java.util.Scanner;
public class Banco{

    Scanner scan = new Scanner(System.in);
	private static int qtdP = 0;
	private static int qtdC = 0;

	private Conta contas[] = new Conta[100];
	private Pessoa pessoas[] = new Pessoa[100];


	public void addP(Pessoa c){

		this.pessoas[qtdP] = c;

		qtdP++;
	}

	public void verDados(){
		Pessoa p = new Pessoa();

			String busca;

			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());
				}else if(qtdP == 100 - 1){
					System.out.print("Pessoa nao encontrada!");
				}
			}
        }
}

 

Erro que aparece:

Exception in thread "main" java.lang.NullPointerException
        at Banco.verDados(Banco.java:23)
        at Principal.main(Principal.java:45)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ai joaoufms, teria como voce apontar quais seriam as linhas

 

linha 23 no arquivo Banco.java

linha 45 no Principal.java

 

No aguardo

Att

Max

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×