Soy un principiante en la programación de Java y me he encontrado con un problema extraño. Debajo está mi código, que solicita al usuario la entrada e imprime lo que el usuario ingresa una palabra a la vez.¿Cómo salir del ciclo while en java con el método de escáner "hasNext" como condición?
El problema es que el programa nunca termina, y desde mi entendimiento limitado, parece haberse quedado dentro del ciclo while. ¿Alguien podría ayudarme un poco? Gracias por adelantado.
import java.util.Scanner;
public class Test{
public static void main(String args[]){
System.out.print("Enter your sentence: ");
Scanner sc = new Scanner (System.in);
while (sc.hasNext() == true) {
String s1 = sc.next();
System.out.println(s1);
}
System.out.println("The loop has been ended"); // This somehow never get printed.
}
}
(offtopic) Es habitual que acaba de escribir 'while (sc.hasNext())' en vez que 'while (sc.hasNext() == verdadero)'. 'hasNext()' ya te devuelve un valor booleano. –