我是 java 编程的初学者,遇到了一个奇怪的问题。下面是我的代码,它要求用户输入并一次打印出用户输入的内容。
问题是程序永远不会结束,根据我有限的理解,它似乎卡在了 while 循环中。谁能帮我一点忙?提前致谢。
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.
}
}
最佳答案
你不断得到一个新的新字符串,如果它不为空则继续循环。只需在循环中为退出字符串插入一个控件。
while(!s1.equals("exit") && sc.hasNext()) {
// operate
}
如果要在循环内声明字符串,如果字符串为“exit”则不在循环体中执行操作:
while(sc.hasNext()) {
String s1 = sc.next();
if(s1.equals("exit")) {
break;
}
//operate
}
关于java - 如何使用 Scanner 方法 "hasNext"作为条件退出 java 中的 while 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10490344/