我正在尝试将数据写入包含名称和数字的对象,但由于某种原因,名称在使用初始化后立即丢失了数据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()
是因为没有它,程序将打印所有内容,直到我要求输入整数。即使我将字符串设置为默认文本,在尝试通过用户输入将其更改为不同的名称后,字符串也会立即变为空。
最后,当我对整数执行相同的测试时,它们工作得很好。
关于可能导致我的字符串不存储任何内容的任何建议?