Mostrar todas as idades lidas e não as duas últimas
4 respostas
F
Felipe_Kan
Eu tenho um código com um system.out.println dentro de um do while e ele vai perguntando a idade da pessoa. Isso se repete 5 vezes.
Se a idade for <21, eu coloco numa variável. Senão, se for >51, coloco em outra variável. Isso também está dentro do laço.
No final mostro(era pra mostrar) todas as idades lidas. Acontece que por um erro meu de lógica, só as últimas duas idades são mostradas. Não sei como fazer. Me disseram que a maneira mais simples é usando arrays, mas ainda não entendo disso. Vcs confirmam? Não tem outro jeito?
Como armazenar 5 valores (quero dizer as idades) dentro de 2 variáveis somente? Impossível.
Para isto você deveria ter no mínimo 5 espaços na memória (ou 5 variáveis). =]
O caso do array (o mesmo que vetor) é que você pode criar uma variável que aloca vários espaços na memória. Assim, se você precisa de 5 espaços na memória, você deveria criar um array assim:
int [] idades = new int[5];
Daí você pode setar os valores para cada índice do array (lembramdo que em java índice de array começa com 0):
idades[0]=18;idades[1]=21;idades[2]=72;…
Entende? Daí você pode utilizar isto para armazenar não somente duas, mas todas as 5 idades que foram digitadas!
Espero ter ajudado. Até.
F
Felipe_Kan
Tudo bem, ajudou, obrigado. Mas desse jeito, se fosse digamos, 100 idades? :shock:
Uma posição pra cada uma seria muito trabalhoso.
Lucas_Cavalcanti
Você pode usar uma lista de inteiros:
List<Integer> lista = new ArrayList<Integer>();
lista.add(17);
lista.add(42);
lista.add(99);
...
lista.add(13);