Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > DUDA [principiante] con el método hasNext

Hola a todos. Gracias de antemano por su ayuda.
He estado aprendiendo Java con el libro de Deitel la 9na edición y el punto es, que enseño a usar el método "hasNext()" de la clase Scanner, que sé supone uno debe ingresar calificaciones y cuando se quiera finalizar por el usuario la lectura de los números, esté debe ingresar el "Indicador de fin de archivo"; sin embargo he hecho lo que indica, y cuando uso la combinación del Indicador de fin de archivo <Ctrl>z no pasá nada o inclusive a veces me arroja un error.

Dejó el fragmento donde uso la instrucción:


while(entrada.hasNext()){
calificacion = entrada.nextInt();//lee la calificacion
total +=calificacion;//suma calificacion a total
++i;//incrementa el número de calificaciones
//lama al mentodo para incrementar el contador apropiado
incrementarContadorCalifLetra(calificacion);

}//fin del while
}//fin del metodo introducirCalif

julio 25, 2016 | Registered Commenteryuenesc

Hola,

¿Que error te arroja?

Puedes poner todo el código (incusive la declaración de la "entrada"?

Salu2!!

agosto 2, 2016 | Unregistered CommenterRubén

Es verdad, parece una errata del autor. El problema es que el método hasNext() espera un toquen que no es <Ctrl>z.
Yo lo solucioné modificando la linea57 definiendo explícitamente el toquen para terminar el bucle: while (!entrada.hasNext("fin")).

febrero 18, 2017 | Unregistered CommenterCarlos

Gracias Carlos acertada tu solucion

mayo 26, 2022 | Unregistered CommenterManuel Turcios

En NetBeans no funciona, pero en VSCode si funciona tal como está escrito el código

diciembre 22, 2023 | Unregistered CommenterJoel