public class Main {
public Main() {
Aluno p;
Nota n;
List<Aluno> pessoas = new ArrayList<Aluno>();
List<Nota> notas = new ArrayList<Nota>();
boolean continua = true;
do {
p = new Aluno();
p.setNome(JOptionPane.showInputDialog("Qual seu nome :"));
p.setSobrenome(JOptionPane.showInputDialog("Qual seu sobrenome :"));
p.setIdade(Integer.parseInt(JOptionPane.showInputDialog("Qual sua idade :")));
pessoas.add(p);
for (int i = 0; i < 4; i++) {
n = new Nota();
n.setNota(Double.parseDouble(JOptionPane.showInputDialog("Digite sua " + (i + 1) + " nota :")));
notas.add(n);
}
continua = Boolean.parseBoolean(JOptionPane.showInputDialog("Quer adicionar mais pessoas ? true / false"));
} while (continua);
// --------------------------
for (int i = 0; i < pessoas.size(); i++) {
System.out.println("Nome : " + pessoas.get(i).getNome());
System.out.println("Sobrenome : " + pessoas.get(i).getSobrenome());
System.out.println("----------------------------------");
for (int j = 0; j < notas.size(); j++) {
System.out.println(j + 1 + " Nota : " + notas.get(j).getNota());
}
}
}
public static void main(String[] args) {
new Main();
}
Pessoal no código acima com a ArrayList , eu quero para cada Aluno 4 notas, porém quando eu saio do laço e a impressão vem, os nomes saem corretos,mas as notas se concatenam tipo, se eu adiciono 2 alunos, na impressão para cada aluno aparece as 8 notas desses alunos,o que há de errado ?