乙個簡單的怪問題

2021-08-22 04:23:31 字數 784 閱讀 4828

乙個學員問了乙個關於io的怪問題,問題是這樣的:讀取鍵盤輸入的乙個字元,然後列印輸出這個字元,在列印字元的前面和後面分別加了乙個字串,程式的**如下:

public class test}

編譯並執行這個程式。

(1)輸入字元「a」,命令列視窗列印輸出的結果如圖1所示,與我們預期的一樣。

(2)重新執行這個程式,直接按下回車鍵,在命令列視窗列印輸出的結果如圖2所示。這時,列印輸出的結果是:列印語句中字元後面的字串「替換」了字元前面的字串中的部分字元,即列印輸出字串「abllo」。

請大家都來想一想,為什麼在輸入普通字元時,輸出的結果是正常的;而直接按下回車鍵,後面的字串就「替換」了前面的字串,並且沒有輸出回車換行符呢?

上面的問題,是我分析出原因後,為了講課方便,重新調整的例子,並且寫出了錯誤規律。其實,學員最初的問題非常隱蔽,並沒有我上面的案例這麼直接,並且找不出錯誤規律。下面是他當初的程式**。

public static void main(string args) throws exceptionwhile(ch0!='#');

char ch/*='0'*/;

system.out.print(str);

ch=(char)system.in.read();

system.out.println("hello" + ch + 'b');

}

乙個簡單的怪問題

乙個學員問了乙個關於io的怪問題,問題是這樣的 讀取鍵盤輸入的乙個字元,然後列印輸出這個字元,在列印字元的前面和後面分別加了乙個字串,程式的 如下 public class test 編譯並執行這個程式。1 輸入字元 a 命令列視窗列印輸出的結果如圖1所示,與我們預期的一樣。2 重新執行這個程式,直...

乙個簡單的怪問題

乙個學員問了乙個關於io的怪問題,問題是這樣的 讀取鍵盤輸入的乙個字元,然後列印輸出這個字元,在列印字元的前面和後面分別加了乙個字串,程式的 如下 public class test 編譯並執行這個程式。1 輸入字元 a 命令列視窗列印輸出的結果如圖1所示,與我們預期的一樣。2 重新執行這個程式,直...

乙個SWING的怪問題

我最近在做學校裡乙個關於作業系統的實驗,主要實現程序排程的演算法,但要求是視覺化,即動態地表現出程序的變化情況.這就牽涉到了介面的動態變化,比如jlabel上的文字要不斷變化,由於我對swing不熟悉所以碰到了乙個大問題,如下.比如我有乙個button被監聽,一旦按下便動態地不斷改變jlable上的...