Pessoal boa noite, estou fazendo o exercício abaixo para treinar estruturas de repetição mas esse é um pouco mais complicado do que estou acostumada.
"Faça um programa que leia o valor das notas de alunos com até uma casa decimal, até que seja digitado um valor menor que zero. Assim que o valor menor que zero for digitado o programa deve mostrar o valor da menor nota, o valor da maior nota e a média das notas digitadas. Considere que ao menos uma nota será digitada antes de se digitar valor negativo."
Estou travada em uma parte que envolve o contador, ele digital a soma total das notas corretamente, ele ignora a nota negativa na hora da soma.
Só que na hora de calcular a média das notas o contador está contando também com a nota negativa digitada, por exemplo: se digito 10+10+10-5 ele dá uma média de 7.5 (que é 30 / 4), eu nunca passei por algo parecido, alguém poderia me ajudar? Vou colocar aqui embaixo a forma que eu fiz.
import javax.swing.JOptionPane;
public class ExercicioA1 {
public static void main(String[] args) {
double nota = 0;
int contador = 1;
double totalNotas = 0;
double menorNota = 0;
double maiorNota = 0;
double mediaNotas;
while (nota >= 0) {
nota = Double.parseDouble(JOptionPane.showInputDialog("Digite a nota"));
if (nota >=0) {
totalNotas = totalNotas + nota;
contador ++;
}
}
JOptionPane.showMessageDialog(null, "Total das notas " + totalNotas);
if (nota==1) {
menorNota = nota;
maiorNota = nota;
} else if (nota > maiorNota) {
maiorNota = nota;
}
mediaNotas = totalNotas / contador;
JOptionPane.showMessageDialog(null,"A média das notas é " + mediaNotas);
}