Saída incorreta de dados na lista [Java]

02/03/2021

0

Bem, estou com um probleminha no código a seguir. Se tiver mais um item nessa lista que o CPF 123 não comprou, vai aparecer mais uma vez o "CPF NÃO ENCONTRADO"

CLASSE CADASTRO

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Cadastro {
String nome;
int idade;
String cpf;

public Cadastro(String nome, double preco, String cpf) {

this.nome = nome;
this.preco = preco;
this.cpf = cpf;
}

public Cadastro() {

}

}
CLASSE MAIN

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
Cadastro cadastro = new Cadastro();
List<Cadastro> dados = new ArrayList();
Scanner entrada = new Scanner(System.in);

public void cadastrar() {

System.out.println("NOME: ");
cadastro.nome = entrada.next();
System.out.println("PREÇO: ");
cadastro.preco = entrada.nextDouble();
System.out.println("CPF: ");
cadastro.cpf = entrada.next();
dados.add(new Cadastro(cadastro.nome, cadastro.preco, cadastro.cpf));

}

public void consultarCompra() {
System.out.println("INFORME SEU CPF: ");
String cpf = entrada.next();

for (int i = 0; i < dados.size(); i++) {
if (dados.get(i).cpf.equals(cpf)) {
System.out.println("O DONO DESTE CPF COMPROU: \n" + dados.get(i).nome);

} else {
System.out.println("CPF NÃO ENCONTRADO");

}
}
}

public static void main(String[] args) {
int resp;
Cadastro cadastro = new Cadastro();
Scanner entrada = new Scanner(System.in);
Main co = new Main();
int opcao;
do {
System.out.println(" 1- CADASTRAR");
System.out.println(" 2- BUSCAR POR CPF");
opcao = entrada.nextInt();

switch (opcao) {
case 1:
co.cadastrar();
break;
case 2:
co.consultarCompra();
break;
}
System.out.println("DIGITE 0 PARA VOLTAR");
resp = entrada.nextInt();

} while (resp == 0);
}
}
Carlos Soares

Carlos Soares

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar