我要求用户通过for循环输入5个不同的数字。我的问题是我试图验证所述输入以确保输入负数,并且如果输入负值则重新提示用户输入有效整数。我尝试了两个不同的版本。
(下面的代码:如果我输入一个正值,那么循环将停止。例如:通过输入第一次迭代5,它将只询问一次问题。它忽略迭代2,3,4,5。 )
for (int i = 1; i <= 5; ++i)
{
while (day <= 0)
{
System.out.println("Enter the amount of sales for day " + i);
day = keyboard.nextInt();
total += day; //accumulator
sales.println("Day " + i + ": " + day);
}
}
(以下代码:验证不起作用。用户不会被提示,负数将被存储。)
while (day <= 0) //don't accept negative numbers (less than 0)
{
for (int i = 1; i <= 5; ++i)
{
System.out.println("Enter the amount of sales for day " + i);
day = keyboard.nextInt();
total += day; //accumulator
sales.println("Day " + i + ": " + day);
}
}
答案 0 :(得分:1)
我更改了while循环,以便始终要求用户输入销售额 除非他们输入的金额大于或等于0.询问您是否有任何问题。
for (int i = 1; i <= 5; ++i)
{
while (true)
{
System.out.println("Enter the amount of sales for day " + i);
day = keyboard.nextInt();
if(day >= 0)
break;
}
total += day; //accumulator
sales.println("Day " + i + ": " + day);
}