0
我正在編寫一個命令行Java應用程序。我有一個處理終端輸入/輸出的類。我想問一個簡單的是/否(是/否)問題。 這是我的代碼:立即返回新行的命令行
public boolean yn(String prompt) {
// ask a yes/no question
out(prompt);
try {
while(true) {
char result = (char) br.read();
out("\n");
if(((Character) Character.toLowerCase(result)).toString().equals("y")) {
return true;
} else if(((Character) Character.toLowerCase(result)).toString().equals("n")) {
return false;
}
// not y or n
out(Messages.informYN);
}
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
BR是一個BufferedReader設置爲
br = new BufferedReader(new InputStreamReader(System.in));
出簡單地輸出文本
System.out.print(text);
的問題br.read( )在沒有輸入時第一次立即返回一個新行給出。
我對Java相當陌生,所以請放心。
您是否嘗試使用readln:'炭結果= br.readLine()的charAt(0);' –
此外,可告訴你代碼你在哪裏調用這個方法? –
@HovercraftFullOfEels readln代碼拋出一個索引超出範圍的異常。調用它的行很簡單''布爾cont = terminal.yn(Messages.noMatchConfirmation);' –