[code]
// declara uma variável do tipo int chamada total
int total;
// declara uma variável do tipo int chamada gradeCounter
int gradeCounter;
// declara uma variável do tipo int chamada grade
int grade;
// declara uma variável do tipo int chamada avarage
int average;
// essa inicialização se faz necessária, visto que esse código está dentro
// de um método não é? variáveis locais não recebem um valor padrão.
//fase de inicialização
// inicializa a variável total com o valor 0
total = 0;
// inicializa a variável gradeCounter com o valor 1
gradeCounter = 1;
//fase de processamento
// enquanto gradeCounter for menor ou igual a 10
while(gradeCounter <= 10) {
// pede p/ entrar com a nota
System.out.print(“Enter grade:”);
// entra com a nota (input deve ser um Scanner, estou certo?)
grade = input.nextInt();
// acumula a nota fornecida em total
total = total + grade;
// conta mais um em gradeCounter
gradeCounter = gradeCounter +1;
}
// aqui deve ser calculado o valor da média
avarage = total / (gradeCounter - 1);(avarage)[/code]
Eu inicializaria gradeCounter com 0 e iria até < 10 no while, ai no final do while vc teria gradeCounter com a quantidade correta de notas, ou seja, 10, ao contrário do que está acontecendo agora, onde gradeCounter fica com o valor 11.
você pega a gradeCounter e soma ela com mais um.
ou seja.
ele é um contador.
para sair do loop.
já que while é enquanto.
então enquanto gradeCounter for menor a 10 ele vai continuar fazendo.
se vc deixar o gradeCounter = 1
ele entra em loop infinito.
o total = 0 e o gradeCounter = 1
é para inicializar o valor da variavel.
pois senão fica sem valor.
como vc vai somar
gradeCounter = gradeCounter + 1
se vc nao sabe o valor do gradeCounter inicialmente?
é impossivel.
e o mesmo para o total.