Estou com 2 duvidas em um exercicio de ArrayList nesse codigo:
import javax.swing.*;
import java.util.*;
public class Exe001 {
public static void main(String[] args){
Exe001 objeto = new Exe001();
objeto.cadastro();
}
public void cadastro(){
int maisVelho = 0;
String nomeMaisVelho = "";
ArrayList nomes = new ArrayList();
ArrayList idades = new ArrayList();
String nome = JOptionPane.showInputDialog("Nome: ");
nomes.add(nome);
while(!nome.equals("sair")){
int idade = Integer.parseInt(JOptionPane.showInputDialog("idade: "));
idades.add(idade);
nome = JOptionPane.showInputDialog("Nome: ");
nomes.add(nome);
if(idade > maisVelho)
maisVelho = idade;
}
}
}
As duvidas sao as seguintes: como eu faria pra capturar o nome da pessoa mais velha ali, se eu colocar apenas
NomeMaisVelho = nome;
Ele vai pegar o ultimo nome digitado e nao o nome do mais velho.
E a segunda duvida é que o exercicio pede pra cadastrar pessoas ate o nome receber a palavra sair.
se eu colocar
String nome = JOptionPane.showInputDialog("Nome: ");
nomes.add(nome);
dentro do while primeiro e depois pedir a idade, mesmo quando eu pedir pra sair ele vai pegar a idade denovo, por isso coloquei um antes do while, e outro depois da idade.
tem outra forma melhor de fazer isso sem precisar capturar duas vezes o nome?
Desde ja agradeco a atencao.