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

问题描述 投票:3回答:5

我正在上一个在线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++;
    }
}
java java.util.scanner break
5个回答
2
投票

你需要另一个变量来增加插入的number

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

你的循环在做什么

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

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

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


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
投票

这样做:

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++;
 }
}

0
投票

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

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

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

享受解决方案!


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++;
    }
© www.soinside.com 2019 - 2024. All rights reserved.