簡體   English   中英

在循環中終止 Java 用戶輸入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM