在用户在Java上输入正确的输入之前,如何循环播放?

时间:2019-04-23 04:46:54

标签: java loops while-loop

我正在编写此程序,并且当用户输入的数字不在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();
    {

    }
 // ...

3 个答案:

答案 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();
}