提问人:Nathan Allie 提问时间:4/1/2023 更新时间:4/1/2023 访问量:40
如何正确清除扫描仪以防止输入循环额外的时间?
How to properly clear a scanner to prevent the input from looping an extra time?
问:
我正在为宠物店制作一个基本菜单,在我正在编写的程序中,您可以拥有多只宠物并从这家商店购买它们。我在命令行上运行此菜单并尝试使用 获取用户输入,发生的事情是菜单第二次重复,但是在第二个循环中键入任何内容似乎什么也没做,程序继续。互联网搜索建议我需要使用 a 清除扫描仪,但这似乎也无法解决它。如果您需要更多代码,请告诉我,但这应该足够了,我是编程新手,所以要温柔scan.nextInt()
scan.nextLine()
public Pet showMenu()
{
Scanner scan = new Scanner(System.in);
int result = 10;
while(true)
{
System.out.println("Welcome to the pet store: ");
System.out.println("Please pick a pet ");
for (int i = 0; i < availablePets.size(); i++)
{
System.out.println(i + ")");
availablePets.get(i).printStats();
System.out.println();
}//End for
try
{
System.out.println("Which pet would you like? (Type any other number to quit)");
result = scan.nextInt();
scan.nextLine();
if (result >= 0 && result <= 3)
{
Pet tempPet = availablePets.get(result);
availablePets.remove(result);
return tempPet;
}
else
{
Pet quitObj = new Pet("Quit");
return quitObj;
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
答: 暂无答案
评论