[英]Terminating Java User Input While Loop
我正在學習 Java 第一天,我有一個非常簡單的代碼。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(input.hasNext()) {
String word = input.next();
System.out.println(word);
}
}
在我輸入任何句子后,while 循環似乎沒有終止。 我需要如何更改它,以便在句子全部讀完時我可以跳出循環?
hasNext()
方法總是檢查Scanner
在其輸入中是否有另一個令牌。 Scanner 使用默認匹配空格的分隔符模式將其輸入分解為標記。
(\t)
、換行符(\n)
和更多其他字符 hasNext()
檢查輸入,如果它有另一個非空白字符,則返回 true。
如果您想連續從控制台獲取輸入,您的方法是正確的。 但是,如果您只想擁有單個用戶輸入(即一個句子或單詞列表),最好閱讀整個輸入,然后相應地對其進行拆分。
例如:-
String str = input.nextLine();
for(String s : str.split(" ")){
System.out.println(s);
}
好吧,一個簡單的解決方法是在您找到停止或任何您想要的字符串時停止!
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
String word = input.next();
if (word.equals("stop")) {
break;
}
System.out.println(word);
}
input.close();
System.out.println("THE END!");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.