我对 Java 非常陌生,但对 VB.NET 有“一点”经验,这要宽容得多。所以请原谅这可能是一个愚蠢的问题,也请原谅我糟糕的 Java 词汇量。这是控制台应用程序的片段:
do
{
out.println("Please enter the name of your space bug and press <enter> to continue");
out.println();
bugOne.setName(keyInput.nextLine());
out.println("You have entered '" + bugOne.getName() + "'.");
out.println("Is this correct? (y/n)");
confirmName = keyInput.findWithinHorizon(".",0).charAt(0);
}
while(confirmName != 'y' && confirmName != 'Y');
在第一次迭代时它很好,输入的名称显示出来。然后它进入确认状态,如果我输入“y”或“Y”,它会很好地进入下一行代码(如您所料)。
但是,如果我键入其他任何内容,当它通过第二次迭代时,它不会暂停键盘输入。在我输入确认名称请求后,控制台窗口中生成的行立即读取
You have entered "".
Is this correct(y/n)?
为什么不暂停键盘输入?(在 VB 控制台应用程序中,您必须指定何时要暂停用户输入,但从我在 Java 中看到的情况来看,您没有或不能……或者您可以吗?)
为什么我通过访问器方法 setName 设置的“名称”变量在第二次迭代中被自动赋值为空?