Olá galera,
O que está acontecendo é o seguinte, eu estou fazendo um exercício para a faculdade e estou tendo problemas com o Scanner, não é a primeira vez.
Espero sair deste tópico pra nunca mais ter problemas chatos como esse, quando uso a classe Scanner e preciso pegar uma String, uso (objeto que instanciei).nextLine(); ou então .next(); porém sempre quando tem outra linha embaixo o programa passa direto e deixa a String como cadeia vazia.
Alguém consegue me explicar?
Desculpem-me pela pergunta inocente hehehe! ;D
Abraços a todos!!
import java.util.Scanner;
public class Alunos {
public static void main(String[] args) {
int N = 0, qntAprova = 0, cont;
String nome, nomeMaior = null, idTurma, turmaMaior;
float nota, nota2, nota3, notaMaior = 0, mediaTurma = 0, notaFinal;
Scanner entrada = new Scanner( System.in );
System.out.print("Digite uma identificação para a turma: (Ex: C2,C1 ..)");
idTurma = entrada.next();
System.out.print("Digite a quantidade de alunos da turma"+idTurma);
N = entrada.nextInt();
for(cont = 1;cont < N;cont++) {
System.out.print("\nDigite o nome do aluno: (Se deseja finalizar digite fim)");
nome = entrada.next();
System.out.print("\n OK! \n Agora digite a primeira nota de:" +nome);
nota2 = entrada.nextFloat();
System.out.print("\n OK! \n Agora digite a segunda nota de:" +nome);
nota3 = entrada.nextFloat();
System.out.print("\n OK! \n Por último digite a terceira nota de:" +nome);
nota = entrada.nextFloat();
notaFinal = (nota + nota2 + nota3);
System.out.print("\n Nota final de "+nome+" é "+notaFinal);
if (nota > notaMaior) { nomeMaior = nome; turmaMaior = idTurma; }
if (nota > 60) { qntAprova++; }
mediaTurma += notaFinal;
if (nome.equalsIgnoreCase("fim")) {
cont = N;
mediaTurma = mediaTurma / 3;
System.out.print("\nA média da turma "+idTurma+" é de "+mediaTurma);
System.out.print("\nO nome do aluno com maior nota é "+nomeMaior);
System.out.print("\nA quantidade de alunos aprovados é "+qntAprova);
System.out.print("\n\n\nDeseja entrar com uma nova turma?");
nome = entrada.next();
if(nome.equalsIgnoreCase("Sim")) {
cont = 1;
System.out.print("Digite uma identificação para a turma: (Ex: C2,C1 ..)");
idTurma = entrada.next();
}
}
}
}
}