Duvida em um Exercicio de Lógica

ei pessoal poderiam ver o que há de errado com a logica de meu programa?

aí vai a questão:
Crie um programa que leia um indeterminado numero de alunos e para cada aluno leia:
a- nome;
b- idade;
c- as 8 notas do semestre;
após a leitura dos dados de cada aluno deve ser calculada a media das 8 notas. ao final da leitura de todos os alunos, devera ser calculada a media geral da turma, devera ser mostrado o nome do aluno que conseguiu a media mais alta da turma com a respectiva media e o numero de alunos que conseguiram media acima de 7,5. o sentinela do while é (nome = “”);

aqui vai o meu código não deem risada!!! heehe

[code]import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class MediaTurma {

public static void main(String[] args) throws IOException {
	BufferedReader teclado = new BufferedReader(new InputStreamReader(
			System.in));

	// variaveis

	String strNome = null, strIdade, strNota, nomeMelhorMedia = null;
	float notaAtual = 0, mediaNotasAluno = 0, contadorAlunos = 0,
	melhorMedia = 0, contAlunosMedia75 = 0, somaNotasAluno = 0, somaMediasTurma = 0;
	// inicio do laço
	System.out.println("informe o nome ( ou tecle enter para sair): ");
	strNome = teclado.readLine();

	while (!strNome.equals("")) {
		// pede idade
		System.out.println("digite sua idade: ");
		strIdade = teclado.readLine();
		// pede as 8 notas
		for (int i = 0; i < 8; i++) {
			// pede nota

			System.out.println("digite a nota: ");
			strNota = teclado.readLine();
			notaAtual = Float.parseFloat(strNota);
			// adiciona as notas para o calculador de media
			somaNotasAluno = somaNotasAluno + notaAtual;

		}
		// media das notas
		mediaNotasAluno = (somaNotasAluno / 8);
		// adiciona a media no calculador de medias
		somaMediasTurma = somaMediasTurma + mediaNotasAluno;
		// verifica se é a melhor media até agora
		if (mediaNotasAluno > melhorMedia) {
			melhorMedia = mediaNotasAluno;
			nomeMelhorMedia = strNome;
		}
		// verifica se a media está acima de 7,5
		if (mediaNotasAluno >= 7.5) {
			// incrementa o contador de notas acima de 7,5
			contAlunosMedia75++;
		}
		// incrementa o contador de alunos
		contadorAlunos++;
		// pede nome
		System.out.println("informe o nome ( ou tecle enter para sair): ");
		strNome = teclado.readLine();

	}
	System.out.println("melhor media: " + melhorMedia + " com o aluno: "
			+ nomeMelhorMedia);
	System.out
			.println("alunos que conseguiram media maior ou igual a 7.5: "
					+ contAlunosMedia75);

}

}
[/code]

se tiverem tempo por favor deem uma olhada…

grato desde já
Abraço

rpz por incrivel q pareca fiz um desse semana passada na facul veja em anexo… qualquer duvida so gritar… o seu tem uns pre-requisitos a + q o meu nao tem…

:idea:
Faltou só uma coisa :

Zerar a variável “somaNotasAluno”. no fim do While. Por que ele estava acumulando todas as notas então a melhor media era sempre do último.

//incluindo essa linha antes do trecho de “pedir nome” dentro do while já resolve.
somaNotasAluno = 0;

// pede nome
System.out.println("informe o nome ( ou tecle enter para sair): ");

:shock:
Eduardo

muito obrigado pelas respostas !!!

somaNotas filha da mãe.!
hehhe

e desculpem o incômodo ae.

abraço
até mais