public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
System.out.println("Exiting...");
}
看论坛里面一个帖子用了Scanner这个类,想用一下,发现了一个问题,就是当循环结束时,没有执行后面的那条打印Exiting的语句,也就是说程序没有从循环中退出,可是实际上我输入的字符串已经解析完了,不知道为什么,请教各位.

解决方案 »

  1.   

    这个程序的结果是在控制台输入字符串,然后控制台紧跟着输出该字符串,
    因为没有打破while循环的语句,所以不会停下来
    可以在while里加一个if 语句,当输入特定的字符串时break
      

  2.   

    这个代码是可以退出的。但是你要注意,你输入文本然后回车并不意味着System.in已经结束,所以scanner.hasNext()==true如果你回车以后按下Ctrl+Z再回车,这样就意味着System.in结束,你的程序就会退出了。