【发布时间】:2021-04-27 18:15:59
【问题描述】:
我被要求展示一个最多只能数到 50 的程序。
我的问题是当输入超过 50 时,语句“Number must be below to 50!”仍然从循环中打印出来。
这是我的代码:
import java.util.Scanner;
class Main {
public static void main (String args[]){
Scanner input = new Scanner(System.in);
int counter=0;
int num = input.nextInt();
for (int i=0; i<=num; i++)
{
if (num >= 0 && num<=50) {
System.out.print (i + " ");
}
else {
System.out.print ("Number must be below 50!");
}
}
System.out.println ();
}
}
由于某种原因,如果用户的输入超过了51,输出变成:
Number must be below to 50!Number must be below to 50!Number must be below to 50!......
如何从循环中排除语句?
【问题讨论】:
-
如果不希望消息多次显示,最简单的方法是将显示它的语句移到循环外。
-
当您说“出于某种原因”时 - 原因是“因为您的代码就是这样做的”。您的
if语句条件根本不依赖于i...您打算这样做吗?如果您对代码目前的执行方式感到惊讶,您可能需要在调试器中单步执行它。