Ir ao conteúdo
  • Cadastre-se

Java Buscando dados em um vetor


Posts recomendados

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)

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...