[RESOLVIDO] - Armazenar dados em um array

4 respostas
M

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?

4 Respostas

agscripter

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);
Rodrigo_Void

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.

M

Beleza, pessoal. Resolvido aqui.
Agradeço a atenção dos dois aí.

Rodrigo_Void

Não esquece de postar como resolveu.
E marca no tópico como resolvido.
Flw

Criado 13 de novembro de 2017
Ultima resposta 13 de nov. de 2017
Respostas 4
Participantes 3