[ Foro de Java ]

Ayuda método hasNext()

25-Jul-2021 20:07
Invitado (Aprendiz)
1 Respuestas

Tengo un problema con usar correctamente este método de la clase Scanner. Tengo entendido que retorna un booleano, el problema es que sólo me retorna true si escribo una palabra, pero si no escribo nada (pulsando dos veces intro) nunca me imprime ese ''adiós'', es decir no contempla ese retorno del false que es lo que busco. . . Alguien sabe por qué sucede esto?
Muchísimas gracias por vuestro tiempo!

public class Incremento {
public static void main (String [] args){
Scanner input = new Scanner(System.in);
System.out.println("Escriba");

if(input.hasNext()){
System.out.println("hola");
}else {
System.out.println("adiós");
}
}
}


27-Jul-2021 09:51
Nacho Cabanes (+84)

Para los métodos nextInt, nextFloat, next... un espacio en blanco es un separador válido, y también lo es un salto de línea.

Deberás leer con nextLine y ver si el resultado es una cadena vacía.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)