Bom dia.
Preciso criar um array chamado notas que armazene os valores lidos do teclado, mas as notas devem ser validadas, ou seja, não pode aceitar notas fora do intervalo [0.0,10.0].
for(int i = 0; i < notas.length;i++){
do{
notas[i] = Teclado.leDouble("Digite uma nota: ");
} while (notas[i] > 0 || notas[i] < 10);
}
porém não está funcionando, alguém saberia me dizer o que estou fazendo de errado?
1 curtida
O erro está na linha
} while (notas[i] > 0 || notas[i] < 10);
Ele precisa realizar a operação enquanto estiver fora do intervalo…
Então ficaria assim:
} while (notas[i] < 0 || notas[i] > 10);
1 curtida
cara, recomendo fazer um IF em cada leitura para não abortar o laço caso leia uma nota inválida.
Lê a nota em uma variável separada, faz o teste com um IF e se válido, salva no vetor, se não dá uma mensagem.
1 curtida
Beleza, pessoal. Resolvido aqui.
Agradeço a atenção dos dois aí.
1 curtida
Não esquece de postar como resolveu.
E marca no tópico como resolvido.
Flw
1 curtida