私はJAVAを学習していて、以下のDOをタイプしています。 「q」と入力するとプログラムは終了します。それは実行されますが、なぜ私は3つの行を取得してください "Enterキーの後にキーを押してください:"?非常に単純なjava do ... whileループ
class DWDemo {
public static void main (String args[])
throws java.io.IOException {
char ch;
do {
System.out.println("Please a key followed by ENTER:");
ch = (char) System.in.read();
} while (ch != 'q');
}
}
これは、読み取りが文字を返さないことを除いて、ほぼ正確です。バイトを返します。非ASCII文字を入力すると、おそらくデフォルトのエンコーディングに応じて2つの連続した値が返されます。 –