'while' 使用扫描仪输入和 pos/neg 数字的无限循环
'while' infinite loop using scanner input and pos/neg numbers
我似乎无法理解如何使用 while 循环来确定数字是否为正数。而 (I > 0),如果我输入任何正数,结果总是大于 0,这意味着存在无限循环。
int i = 0;
System.out.println("#1\n Input Validation\n Positive values only"); // #1 Input Validation
System.out.print(" Please enter a value: ");
Scanner scan = new Scanner(System.in);
i = scan.nextInt();
while (i > 0)
{
System.out.println("The value is: " +i);
}
System.out.println("Sorry. Only positive values.");
此外,当我输入负数时,它不会返回到扫描仪以输入正数。
我相信这就是您要实现的目标。
int i = 0; // int is 0
while (i <= 0) {
// int is 0 or a negative number
System.out.println("#1\n Input Validation\n Positive values only");
System.out.print(" Please enter a value: ");
Scanner scan = new Scanner(System.in);
i = scan.nextInt();
if (i > 0) {
System.out.println("The value is: " + i);
} else {
System.out.println("Sorry. Only positive values.");
}
// if number is positive then continue to termination. If negative then repeat loop
}
请仔细注意放置 while 循环的位置,因为初始放置肯定会导致无限循环
while (i > 0)
{
System.out.println("The value is: " +i);
// number is positive - repeat loop containing only this line of code to infinity
}
// number is either 0 or negative so continue to termination
你可以去这种方法:
int i = 0;
System.out.println("#1\n Input Validation\n Positive values only"); // #1 Input Validation
Scanner scan = new Scanner(System.in);
while (i >= 0) {
System.out.print(" Please enter a value: ");
i = scan.nextInt();
if (i > 0) {
System.out.println("The value is: " + i);
} else {
break;
}
}
System.out.println("Sorry. Only positive values.");
我似乎无法理解如何使用 while 循环来确定数字是否为正数。而 (I > 0),如果我输入任何正数,结果总是大于 0,这意味着存在无限循环。
int i = 0;
System.out.println("#1\n Input Validation\n Positive values only"); // #1 Input Validation
System.out.print(" Please enter a value: ");
Scanner scan = new Scanner(System.in);
i = scan.nextInt();
while (i > 0)
{
System.out.println("The value is: " +i);
}
System.out.println("Sorry. Only positive values.");
此外,当我输入负数时,它不会返回到扫描仪以输入正数。
我相信这就是您要实现的目标。
int i = 0; // int is 0
while (i <= 0) {
// int is 0 or a negative number
System.out.println("#1\n Input Validation\n Positive values only");
System.out.print(" Please enter a value: ");
Scanner scan = new Scanner(System.in);
i = scan.nextInt();
if (i > 0) {
System.out.println("The value is: " + i);
} else {
System.out.println("Sorry. Only positive values.");
}
// if number is positive then continue to termination. If negative then repeat loop
}
请仔细注意放置 while 循环的位置,因为初始放置肯定会导致无限循环
while (i > 0)
{
System.out.println("The value is: " +i);
// number is positive - repeat loop containing only this line of code to infinity
}
// number is either 0 or negative so continue to termination
你可以去这种方法:
int i = 0;
System.out.println("#1\n Input Validation\n Positive values only"); // #1 Input Validation
Scanner scan = new Scanner(System.in);
while (i >= 0) {
System.out.print(" Please enter a value: ");
i = scan.nextInt();
if (i > 0) {
System.out.println("The value is: " + i);
} else {
break;
}
}
System.out.println("Sorry. Only positive values.");