如何将每个数字打印到一定数量

时间:2014-04-17 01:57:54

标签: java java.util.scanner break

我正在上一个在线MOOC学习Java,我唯一的问题是来自芬兰的赫尔辛基大学,我住在美国所以在有限的时间我可以清醒地请求练习帮助。我目前的做法是向用户询问一个数字,然后在使用

时将每个整数打印到该数字
    while {
   } 

声明

这是我目前的代码

    public static void main(String[] args) {
    Scanner reader = new Scanner(System.in);

    int number = Integer.parseInt(reader.nextLine());
    System.out.print("up to what number?:"+ number);
    while (number<=number){ 
        System.out.println(number);
        number++;
    }
}

它看起来像是在忽略

    while (number<=number) {
    System.out.println(number);

我的部分代码并直接进入

    number++;

我的代码的一部分我需要声明另一个int(变量)来存储值吗? 课程具有评分测试用例的方式我不能简单地声明一个具有确定值的变量,因为它们运行几个测试用例,如正数和负数。 有没有办法使用阅读器将值存储到两个单独的变量,以便它们可以相互比较,只打印数字到那个数字?

我也知道我错过了

   Break;

声明,但我不知道我将它放在我的代码中,我试图使用

    } else {
     break;

但是得到一个错误,说明我有一个没有if的别人。 我正在使用netbeans,因为它是我的课程所必需的,因为服务器提交是通过TMC设置的。

现在考虑一下我确定它不会跳过while语句而只是继续打印,因为当它打印和递增时,用户输入也会增加,因为我只有一个变量,但我又不确定我将如何将用户输入值存储在两个不同的变量中,我可以将它们与小于或等于语句进行比较,一旦达到用户输入的数字就停止打印,在这种情况下,我不一定需要break语句,因为它会在打印到数字输入时停止。

回答:这是我最终想出的答案。

    public static void main(String[] args) {
    Scanner reader = new Scanner(System.in);
    System.out.print("up to what number?:");
    int numbers = 1;
    int number = Integer.parseInt(reader.nextLine());

    while (numbers <= number){ 
        System.out.println(numbers);
        numbers++;
    }
}

5 个答案:

答案 0 :(得分:5)

您正在将数字与自身进行比较。所以(number <= number)总是如此。

使用其他变量(例如count)来实际计算。将其初始化为零。

将条件更改为(count < number),然后在循环中将增量更改为count++,然后输出count

哦,你应该在阅读之前提示输入数字。

即您的整个计划将是:

public static void main(String[] args) {
    Scanner reader = new Scanner(System.in);

    System.out.print("up to what number?:");
    int number = Integer.parseInt(reader.nextLine());
    int count = 0;

    System.out.println(number);

    while (count<number){ 
        count++;
        System.out.println(count);
    }
}

答案 1 :(得分:2)

您需要另一个变量才能增加到插入的number

int i=1;
while (i<=number){ 
        System.out.println(i++);
    }

你的循环在做什么

 while (number<=number){ 
        System.out.println(number);
        number++;
    }

例如number=10所以它会像10<=10那样检查你是否需要这个,绝对不是。

因此,对于您的代码,您需要另一个变量来增加输入的数字

答案 2 :(得分:1)

这样就可以了:

public static void main(String[] args) {
 int startingInt = 1; //begin printing from 1
 System.out.println("Up to what number?");
 Scanner reader = new Scanner(System.in);

 int number = Integer.parseInt(reader.nextLine());

 while (startingInt <=number){ 
    System.out.println(startingInt);
    startingInt++;
 }
}

答案 3 :(得分:0)

我是c#expert,所以首先请使用c#。 但我知道我知道你不能总是选择你的,但是,<)。

这是解决方案,它适用于我的机器。

while (number<=number){ 
    System.out.println(number);
    number++;
    if (number==arg[0]) break;
}

享受解决方案!

答案 4 :(得分:0)

System.out.println("Up to what number?");
    int number = Integer.parseInt(reader.nextLine());
    int n = 1;
    while (n <= number) {
        System.out.println(n);
        n++;
    }