Esse exercício está funcional e quase completo, mas ainda tem algumas caquinhas, como exibir uma nota ou outra após o usuário digitar.
Como resolver isso?
Dá uma olhada aqui, acho que isso ajuda:
Eu também fiz um exercício desse e após ler todos os comentários (espero não ter pulado algum), observei que ninguém relatou os problemas que eu tive nesse tipo de exercício, onde, quando fiz, os nextDouble e nextInt não pegavam o valor do usuário, por problemas com os nextLine.
Apesar de bem parecido com o problema do final do parágrafo acima, o problema deste tópico é um tanto diferente, repete valor que acabaram de ser digitados.
Não entendi exatamente o problema, o código abaixo não exibe as notas? Se a pergunte é exibir apenas uma nota, é só substituir o j pela posição da nota que você quer exibir.
for (int j = 0; j < alunos[i].getNotas().length; j++) {
if (alunos[i].getNotas()[j] != 0) {
if (j == alunos[i].getNotas().length - 1) {
System.out.print(alunos[i].getNotas()[j] + "."
+ "\n-----------------------------------------");
break;
}
System.out.print(alunos[i].getNotas()[j] + "; ");
}
Exibe normalmente. O problema é que na terceira nota pedida, ele repete no console a nota anterior e fica esperando a terceira nota, mais ou menos assim:
Digite a terceira nota.
7 (segunda nota impressa indevidamente)
aqui fica esperando a terceira nota corretamente.
Seria na inserção então?
Isso.
Você conseguiu resolver?
Eu importei seu projeto e testei aqui e funcionou tudo corretamente.
Eu não sei o que pode ser, porque ontem, numa das execuções, também funcionou tudo certo, mas na maioria ficava repetindo. Vou dar por encerrado.
Eu testei apenas uma vez, mas funcionou tudo perfeito.
Pode ser que ao inserir você deu 2 enter, ou colocou uma informação que não deveria.
Mas de código não tem nada errado ao meu ver.