Console クラスを使用したユーザー入力の読み取りに問題があります。
このreadLine
メソッドは、新しい行が入力されるまで、入力されたすべての入力を読み取ります。その後、後で返される入力を実際に読み取ります (2 回目の新しい行を入力した後)。
これは入力バッファリングと関係があるのでしょうか。Console オブジェクトに改行記号を書き込もうとしました。
cons.writer ().println (System.getProperty ("line.separator"));
読もうとする前に、それは助けにはなりませんでした。
そのメソッドのために Console クラスを使用しますreadPassword
(これには同じ問題があります)。
Console cons = System.console();
username = String(cons.readLine(format, message));
password = String(cons.readPassword(format, message));
また、ユーザー名とパスワードが正常になるまで、このコードがループで実行されることも付け加えておく必要があります。
最初の反復を除くすべての反復で、このコードは正常に機能します。