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…
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);
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;
}
[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í:
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();
}
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"