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