public static void main(String[] args) {
String nome;
int aux = 0;
ArrayList<Contato> contatos = new ArrayList();
Contato c = new Contato();
do {
Scanner in = new Scanner(System.in);
System.out.println("Cadastrar 1");
System.out.println("Sair 2");
aux = in.nextInt();
switch (aux) {
case 1:
Scanner in2 = new Scanner(System.in);
System.out.println("Digite um nome: ");
nome = in2.nextLine();
c.setNome(nome);
contatos.add(c);
break;
case 2://sair
break;
default:
System.out.println("invalido!");
break;
}
} while (aux != 2);
int i;
int n = contatos.size();
for (i = 0; i < n; i++) {
System.out.printf("Posição %d- %s\n", i, contatos.get(i));
}
}
Apenas postar o código não ajuda. Contextualize.
Desculpe sou novato por aqui, meu problema é na hora de ler os dados salvados no arraylist, ele repete a ultima informação salva em todas as posições
Você só está criando um contato e a cada iteração do laço você está alterando os dados dele e adicionando novamente na lista.
O certo é criar um novo contato a cada iteração e não alterar os dados do mesmo.
1 curtida
Muito obrigado!