我正在编写此程序,并且当用户输入的数字不在1000到2000之间时,我想显示消息“无效的机器编号,请再次输入”。我试图循环直到用户输入正确输入,但我不能。输入无效数字后输入正确数字时,它仍然显示错误消息。
System.out.println("Enter Vending Machine number(number 1000-2000):");
int vendMachNo = scan.nextInt();
while(vendMachNo <1000 || vendMachNo >2000)
{
System.out.println("Invalid machine number, please enter again");
int VendMachNo = scan.nextInt();
{
}
// ...
答案 0 :(得分:2)
您没有重用该变量,而是循环创建一个新变量。它没有在任何地方使用:
int VendMachNo = scan.nextInt();
相反,您应该重新分配在while
循环中检查的那个:
vendMachNo = scan.nextInt();
答案 1 :(得分:0)
看看
WNOHANG
答案 2 :(得分:0)
您正在使用2个不同的变量VendMachNo和vendMachNo,Java是密钥敏感的,所以您在那里遇到问题。
试试这个:
System.out.println("Enter Vending Machine number(number 1000-2000):");
int VendMachNo = scan.nextInt();
while(VendMachNo <1000 || vendMachNo >2000)
{
System.out.println("Invalid machine number, please enter again");
VendMachNo = scan.nextInt();
}