Duvida hasNext()

4 respostas
soul

Estou usando o metodo abaixo seguindo um exercício do livro do deitel java como programar 6

o método hasNext() ira me retornar true quando ele ler um crtl + d vindo do teclado até ai ok
mas rodando o programa dentro do netbeans quando envio pro input o crtl + d no teclado ele continua me pedindo entrada e o while nao termina

se alguem puder me ajudar fico muito grato e-mail [email removido]

public void inputNotas(){
Scanner input = new Scanner(System.in);

int nota;
    
    System.out.printf("%s\n%s\n   %s\n   %s\n",
            "Entre com a nota inteira na escala 0-100",
            "O indicador de fim de arquivo para encerrar as entradas de dado",
            "No UNIX/Linux/Mac Os X o tipo é ctrl + d entao pressione enter",
            "No Windows precione crtr + z entao pressione enter\n\n");
    
    
    
    
    //loop até o usuario inserir o indicador de EOF
    while(input.hasNext()){ //o metodo .hasNext indica se chegou o fim do arquivo retornando true ou false
        
        nota = input.nextInt();
        total += nota;
        ++notasContador;
    
        incrementaContadorEspecifico(nota);
    }
    
    
}

4 Respostas

b11

Suponho q vc esta usando linux, certo?
Pq eu ja fiz esse exercicio no windows e funfou

soul

sim estou usando slackware.

soul

é meio extranho eu mando o ctrl + d e ele fica parado sem dar resposta alguma … quanto tento entrar com outro numero ele aceita … como se o hasNext() nao estivesse true.

ViniGodoy

Primeiro de tudo, está faltando uma coisinha no seu código:
http://www.guj.com.br/posts/list/50115.java

Criado 10 de abril de 2008
Ultima resposta 10 de abr. de 2008
Respostas 4
Participantes 3