一个程序,它将在运算符的条件下循环

时间:2012-04-10 07:11:43

标签: java loops operators

我正在编写一个java程序,该程序将计入用户输入的数字。用户只能输入介于1-10之间的数字。

例如:

如果用户输入6,则输出将为:

1 2 3 4 5 6

如何仅使用运算符以及whileif语句来执行此操作?

这是我的代码。我一直在痛苦地想弄清楚为什么我的代码不会起作用。提前谢谢!

import java.util.Scanner;

public class loop_lab {

    public static void main(String[] args) {
        System.out.println("Hi user, input any number that is between 1-10");{
            Scanner input = new Scanner(System.in);
            int num1 = input.nextInt();
            int num2 = 0;

            if (1<=num1 && num1>=10);
            num2=0;

            while (num2 < num1)
            System.out.println(""+(num2 + 1));
                num2++;

            }
            }
        }

5 个答案:

答案 0 :(得分:1)

我认为问题在于代码块({}之间的东西)。特别要看看while - 循环的行为方式。什么应该在循环中,什么不是?此外,您的if - 语句为空。的;关闭由if处理的代码块。

IDE可以通过应用语法格式来帮助您检测这些错误。代码中的注释看起来像是来自Eclipse。试试ctrl-shift-f(或在菜单中查找)。这会自动对代码进行格式化和缩进,这样可以更轻松地检测结构中的错误。

答案 1 :(得分:0)

首先,您的条件检查应使用or和括号;并将0分配给num1,以防止在用户输入1-10范围之外的任何内容时循环运行:

if (num1 < 1 || num1 > 10){
    num1=0;
}

你也可以改善你的循环:

while (num2 < num1) {
    System.out.println( ""+ num2++ );
}

另外,正如user689893所说,检查{}块。

答案 2 :(得分:0)

试试这个

import java.util.Scanner;

public class loop_lab {
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println("Hi user, input any number that is between 1-10");
        Scanner input = new Scanner(System.in);
        int num1 = input.nextInt();
        int num2 = 1;

        if (1<=num1 && num1>=10){
            num2=1;

            while (num2 <= num1)
            {
                System.out.println("" + num2);
                num2++;
            }
        }
    }
}

答案 3 :(得分:0)

if有一个迷路尾随;因此,下一行是始终运行。

我要在{ / }中包含与条件语句和循环相关的单行语句。这有助于启动&amp;代码块结束清除。我之前关于代码缩进的评论也是识别代码块开始的位置的一个因素。端。

答案 4 :(得分:0)

在while循环中只需更改

 while (num2 < num1){
        if(num2==0)
         System.out.println((num2 + 1));
        else{
           num2++;
           System.out.println(num2);

        }


            }