簡體   English   中英

如何在用戶輸入字符時在控制台中打印字符並在用戶輸入時停止輸入Enter 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.

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