Porque da erro?

import java.util.Scanner;

public class media10alunos {
public static void main(String[] args) {

	Double nota1;
	Double nota2;
	Double nota3;
	Double resultado;
	String nomeAluno;
	int contador = 0;
	
	Scanner iso = new Scanner(System.in);
	
	while(contador < 10){
	
	System.out.println("digite o seu nome:");
	nomeAluno = iso.nextLine();
	System.out.println("digite a primeira nota:");
	nota1 = iso.nextDouble();
	System.out.println("digite a segunda nota:");
	nota2 = iso.nextDouble();
	System.out.println("digite a terceira nota:");
	nota3 = iso.nextDouble();
	resultado = nota1 + nota2 + nota3;
	System.out.println(nomeAluno+" sua média é " + resultado / 3);

	contador = contador + 1;
	}
}

}

voçe digita somente a primeira vez o nome, e depois a frase digite nome sai junto com a proxima mensagem, que recebe somente a nota e não mais o nome que é pra ser, porque isso aconteçe, helpeeeee…

Olá,

cara, não ficou claro a sua dúvida. Você gostaria que a mensagem de identificação (nome) seja exibida somente uma vez?

Se for isso, retire de dentro do looping a mensagem de digitar o nome e capturá-lo:

[code]
System.out.println(“digite o seu nome:”);
nomeAluno = iso.nextLine();
while(contador < 10) {

System.out.println(“digite a primeira nota:”);
nota1 = iso.nextDouble();
System.out.println(“digite a segunda nota:”);
nota2 = iso.nextDouble();
System.out.println(“digite a terceira nota:”);
nota3 = iso.nextDouble();
resultado = nota1 + nota2 + nota3;
System.out.println(nomeAluno+" sua média é " + resultado / 3);

contador = contador + 1;
} [/code]

Acho que o erro que ele diz é que depois da primeira leitura das 3 notas o programa pula a parte de digitar o nome indo direto para as notas;

no caso , o loop estava pulando o nome a partir da 2 vez e ja lendo o valor da nota .

[code]public class Media10alunos {
public static void main(String[] args) {

Double nota1;
Double nota2;
Double nota3;
Double resultado;
String nomeAluno;
int contador = 0;

Scanner iso = new Scanner(System.in);
Scanner nome = new Scanner(System.in);

while(contador < 10){

System.out.println("digite o seu nome:");
nomeAluno = nome.nextLine();
System.out.println("digite a primeira nota:");
    nota1 = iso.nextDouble();
System.out.println("digite a segunda nota:");
    nota2 = iso.nextDouble();
System.out.println("digite a terceira nota:");
    nota3 = iso.nextDouble();
resultado = nota1 + nota2 + nota3;
System.out.println(nomeAluno+" sua média é " + resultado / 3);

contador = contador + 1;
}

}
}
[/code]

Observações:

[list]Pelas convenções da linguagem Java, todas as palavras que compõe os nomes das classes começam com letras maiúsculas, assim: Media10Alunos;[/list]
[list]Utilize as tags code quando for postar codigo, facilita muito o entendimento[/list]
[list]Pense em titulos mais claros. Nesse seu caso seria algo assim: “Por que dá erro durante o input no Scanner”, ou algo assim[/list]

Dei uma modificada no seu codigo para não engessar tanto o usuário, mas o pulo do gato é a recriação do Scanner e o reset no fim do while. Acredito que exista outra forma mais simples de resolver esse problema, mas foi o que consegui pensar no momento. Também tenho conhecimentos parcos da classe Scanner, mas está aí:

Abraços

[code]
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Media10Alunos {

public static void main(String[] args) {

	List<Double> notas = new ArrayList<Double>();
	String nomeAluno = "";
	Double nota = 0.0;
	
	while ((!nomeAluno.equals("sair"))) {
		Scanner iso = new Scanner(System.in);

		System.out.println("Digite seu nome, ou 'sair' para terminar: ");
		nomeAluno = iso.nextLine();
		
		while (nota != -1) {
			System.out.println("Digite a sua nota ou '-1' para terminar: ");
			nota = iso.nextDouble();
			notas.add(nota);
		}
		
		if (!nomeAluno.equals("sair")){
			Double resultado = acharMedia(notas);
			System.out.println(nomeAluno + " sua média é " + resultado);
		}
		
		iso.reset();
	}
}

private static Double acharMedia(List<Double> notas) {
	Double somatorio = 0.0;
	for (Double nota : notas) {
		somatorio += nota;
	}
	return somatorio / notas.size();
}

}[/code]

[quote=javasouza]import java.util.Scanner;

public class media10alunos {
public static void main(String[] args) {

	Double nota1;
	Double nota2;
	Double nota3;
	Double resultado;
	String nomeAluno;
	int contador = 0;
	
	Scanner iso = new Scanner(System.in);
	
	while(contador < 10){
	
	System.out.println("digite o seu nome:");
	nomeAluno = iso.nextLine();
	System.out.println("digite a primeira nota:");
	nota1 = iso.nextDouble();
	System.out.println("digite a segunda nota:");
	nota2 = iso.nextDouble();
	System.out.println("digite a terceira nota:");
	nota3 = iso.nextDouble();
	resultado = nota1 + nota2 + nota3;
	System.out.println(nomeAluno+" sua média é " + resultado / 3);

	contador = contador + 1;
	}
}

}

voçe digita somente a primeira vez o nome, e depois a frase digite nome sai junto com a proxima mensagem, que recebe somente a nota e não mais o nome que é pra ser, porque isso aconteçe, helpeeeee…[/quote]

o caso é q só grava o nome uma vez, e depois a frase q pede o nome ela apareçe junto com a proxima frase"digite a primeira nota"

Troque

por

iso.next();

OBRIGADÃO GALERA… VALEU E ESPERO PODER UM DIA AJUDALOS TAMBÉM…

edita seu primeiro post e coloca [resolvido] no titulo blz :stuck_out_tongue:

beleza, irei tentar melhora-lo…