Scanner
名前と数字を含むオブジェクトにデータを書き込もうとしていますが、何らかの理由で、 (これはすべてと呼ばれるメソッド内で呼び出されますprivate void addPerson()
)で初期化した直後に名前のデータが失われます。
String addName = "Just an empty String.";
System.out.println(addName + " testing"); // (Just an empty String. testing)
System.out.println("Name: ");
addName = input.nextLine();
System.out.println(addName); // null no matter what is entered
input.next();
System.out.println(addName + " again"); // Still null ( again)
名前を入力した直後に、名前が保存されているかどうかを確認しようとしましたが、保存されていません。最初の印刷は出力に登録されません。ENTERを押した後に次に表示されるのは最後の行でしたが、出力画面に「再び」表示されました。私が持ってinput.next()
いる理由は、それがないと、整数の入力を要求するまで、プログラムがすべてを出力するからです。文字列をデフォルトのテキストに設定しても、ユーザー入力で別の名前に変更しようとすると、直後に文字列がnullになります。
最後に、整数に対して同じテストを実行すると、それらは完全に機能します。
私の文字列が何も保存しない原因について何か提案はありますか?