簡體   English   中英

Java BufferedReader.readLine() 不等待用戶輸入

[英]Java BufferedReader.readLine() not waiting for user input

我的 BufferedReader 實例出現問題,在繼續之前沒有等待用戶輸入。

static BufferedReader in;

public class {
    public static void main(String[] args) {
        try{
            in = new BufferedReader(new InputStreamReader(System.in));
            String input;
            System.out.println("prompt");
            input = in.readLine();
            if(input.equals("Y")){
                //do something
            }else {
                //do something else
            }
        }catch(IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

當我運行程序時會發生什么,它只是跳過 in.readLine() 並在 if 語句中拋出一個空異常。 我對正在發生的事情感到茫然,因為我在另一個仍然有效的項目中使用了相同的代碼。

謝謝!

找到了答案。 使用gradle運行程序,我的任務沒有standardInput = System.in的參數。 仍然習慣於項目構建軟件!

是的,您必須處理異常,只需添加以下內容:

public static void main(String[] args) throws IOException {
 
        in = new BufferedReader(new InputStreamReader(System.in));
        String input;
        System.out.println("prompt");
        input = in.readLine();
        if(input.equals("Y")){
            System.out.println("it works !!");
        }else {
            System.out.println("it's not a Y :(");
        }
    }

暫無
暫無

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

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