由於忘了這類的小知識點,特來補充!
轉自:java Scanner中的hasNext()方法 - Deltadeblog - 博客園 (cnblogs.com)
hasNext()方法判斷輸入(文件、字符串、鍵盤等輸入流)是否還有下一個輸入項,若有,返回true,反之false。
Scanner sc = new Scanner(new File("text.txt"));
System.out.println(sc.hasNext());
若test.txt為空(空格、tab、回車),則輸出結果為false;若該文件不為空輸出true。
當輸入為鍵盤時,該方法出現阻塞(block),也即等待鍵盤輸入。輸入源沒有結束,又讀不到更多輸入項。
Scanner sc = new Scanner(System.in);
System.out.println(sc.hasNext());
運行上面的程序,控制台等待鍵盤輸入,輸入信息后輸出結果為true。
輸入:Hello
true
由上面的知識,不難理解
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
System.out.println("Input from keyboard:" + sc.next());
}
sc.hasNext()始終等待鍵盤輸入,輸入信息后,sc.next()打印出該信息。