![](/img/trans.png)
[英]How to process only single charater as and when user enters it on the console in java
[英]How to print characters as user inpt them in console and stop when user enters enter character java
我正在嘗試編寫一種方法,該方法可以打印出用戶輸入的任何字符,並在輸入字符時附加上一個字符,並在按Enter時引發異常。 我已經編寫了以下代碼,但是當我輸入時,它會附加我編寫的字符,並且不會引發異常。 感謝您的幫助和建議。
public static void inputM(StringBuffer a) throws EntExc, IOException{
char c;
String m;
while(true){
Scanner s = new Scanner(System.in);
m=s.next();
c=m.charAt(0);
if(c=='\r'){
throw new EntExc();
}
System.out.println(a.append(m));
}
}
這里有一些問題。 首先, s.next()
由空格分隔的令牌,並將整個令牌作為單個字符串返回。 其次,由於Scanner
使用空格作為定界符,它將永遠不會返回\\r
,它將跳過它並讀取下一個標記。
為什么不使用s.readLine()
並僅回顯整行? 盡管它不會在輸入字符時對其進行處理( Scanner
不能真正做到這一點,它始終會緩沖行),但它會更接近於您描述的要求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.