如何从循环中排除语句?

问题描述

我被要求显示一个最多只能计数 50 的程序。

我的问题是,当输入超过 50 时,语句“数字必须低于 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 语句中。

伪代码:

if(num >= 0 and num<=50){
  loop...
else
  print("num must be below 50")
,

运行以下代码应该会得到您想要的结果:

System.out.println("Enter a number below 50:");
Scanner input = new Scanner(System.in);
int num = input.nextInt();

if (num < 50)
{
    System.out.println("Counting down from " + num);
    for (int i = 0; i <= num; i++) {
        System.out.print(i + ",");
    }
}
else System.out.print("Number must be below 50!");
,

只需改变线的使用。

class Main {

    public static void main (String args[]) {

        Scanner input = new Scanner(System.in);
        int counter=0;
        int num = input.nextInt();
        if(num>50) {
            System.out.print ("Number must be below 50!");
        }
        for (int i=0; i<=num; i++)
        {
            if (num >= 0 && num<=50) {
               System.out.print (i + " ");
            }
        }
        System.out.println ();
    }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...