Bom dia pessoal,
Sou novo aqui no fórum, entretanto, já o havia acessado algumas vezes para ver tópicos de meu interesse, e parece-me que aqui é um ótimo ambiente para trocar ideias e, acima de tudo, aprender.
Bom, partindo para a problemática, eu estou tentando resolver um exercício, o qual possui o enunciado:
Crie uma classe MediaAluno que contenha um atributo do tipo vetor de inteiros com o nome de notas. Essa classe deve ter um método para adicionar as notas nesse vetor (os valores que podem ser adicionados no vetor são os inteiros entre 0 e 100, caso contrário imprime uma mensagem de erro e não adiciona) e outro método que calcule a média de um aluno e imprima essa média.
Eu já consegui fazer o programa em questão, porém, estou tendo problemas com a segunda proposta do exercício, a qual é a média aritmética das notas, eu já estou conseguindo extraí-la e o programa funciona 100%, a real questão está quando a condição da nota ser maior que 0 e menor que 11 não for satisfeita, pois mesmo com o laço sendo desfeito devido à “invalidez”, o programa segue, logicamente, para as linhas as quais fazem a média.
Qual método eu posso utilizar para que isso seja resolvido?
Segue o código:
public class Exercicio6 {
public static void main(String[] args) {
Scanner entradaDados = new Scanner(System.in);
int[] vetorNotas = new int[3];
double media, soma;
for(int i = 0; i<3; i++) {
System.out.println("Entre com a nota do aluno: ");
vetorNotas[i] = entradaDados.nextInt();
if(vetorNotas[i]<0 || vetorNotas[i]>10) {
System.out.println("O valor atribuído à nota não é válido.");
break;
}
}
soma = vetorNotas[0] + vetorNotas[1] + vetorNotas[2];
media = soma / 3;
System.out.printf("A média do aluno é %.2f\n" ,media);
}
}
Espero ter sido claro, desde já agradeço.
Att,
K. Schaeffer.