【发布时间】:2018-07-07 05:57:54
【问题描述】:
在尝试通过命名布尔值来使我的代码更易于阅读时,我遇到了一个问题。它没有按预期正确执行,我无法找到其背后的原因。以下代码正确执行。
import java.util.Scanner;
public class While {
public static void main (String [] args){
int count,number;
System.out.println("Please enter the number you want to count upto:");
Scanner userInput = new Scanner(System.in);
number= userInput.nextInt();
count = 1;
while(count<=number)
{
System.out.println(count +" ,");
count++;
}
}
}
但是,如果我更改代码并将名称分配给 while 循环的布尔语句,它不会停止并提供完全意外的结果。
import java.util.Scanner;
public class While {
public static void main (String [] args){
int count,number;
System.out.println("Please enter the number you want to count upto:");
Scanner userInput = new Scanner(System.in);
number= userInput.nextInt();
count = 1;
boolean onlyWhen = (count<=number);
while(onlyWhen)
{
System.out.println(count +" ,");
count++;
}
}
}
很抱歉问了一个愚蠢的问题,但我只是好奇并寻找这个意外结果的原因。
有问题的代码是
boolean onlyWhen = (count<=number);
提前感谢您的帮助。
【问题讨论】:
-
提取变量“
onlyWhen”来表示while循环“仅在”为真时执行是没有意义的。这就是while循环中条件的含义。如果您不了解 while 循环,那么变量名并不能真正帮助您。
标签: java while-loop boolean