簡體   English   中英

Java:用戶輸入的while循環未執行

[英]Java: while loop for user input not executing

編輯:問題原來是由我在程序的前一部分關閉System.in引起的,因此在以后無法使用。

我正在嘗試為用戶輸入創建一個循環,但是它不起作用...

這是我得到的:

    Scanner userkey = new Scanner(System.in);

    System.out.println("Enter commands");
    while(userkey.hasNext()){

        if (userkey.next().equals("exit")){
            System.out.println("EXIT!!!!");
            break;
        }
        System.out.println("In while loop test");
    }

我猜出於某種原因userkey.hasNext()返回false ...

嘗試這個:

import java.util.Scanner;

public class Snippet {
    public static void main(String[ ] args)  
    { 

         Scanner scanner = new Scanner(System.in);
            String readString = scanner.nextLine();
            while(readString!=null)
            {
                System.out.println(readString);
                if(readString.equals(""))
                    System.out.println("Read Enter Key.");
                if(scanner.hasNextLine())
                    readString = scanner.nextLine();
                else
                    readString = null;

                if(readString.equals("exit")){
                    System.out.println("EXIT");
                    break;
                }
            }

    }

}

甚至您的代碼也可以使用,但這是一個更詳細的版本。

試試這個代碼:

import java.util.Scanner;
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner userkey = new Scanner(System.in);
        System.out.println("Enter commands");
        do  {
            if (userkey.next().equals("exit")) {
                System.out.println("EXIT!!!!");
                break;
            }
            System.out.println("In while loop test");
        }while(userkey.hasNext());

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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