【问题标题】:Java: Create program that prints integer n number of times - how to get n to workJava:创建打印整数 n 次的程序 - 如何让 n 工作
【发布时间】:2018-07-20 17:18:10
【问题描述】:

我目前正在开发一个应该产生所需输出的程序:

1
2 2
3 3 3
4 4 4 4 
5 5 5 5 5
etc

基本上,它将是一个类函数,它接受一个 int n 并从 1 开始多次打印数字 n。

这是我目前所拥有的:

import java.util.*;
public class NumberTaker {

    public static void calculateNum(int a ){

        int b = 0;

        int c = b;

        int numTimes = a;

        for (int i = 1; i < numTimes; i++) {
            for (int j = 1; j < numTimes; j++) {
                if (i == j) {
                    System.out.println(i);
                }
            }

        }


    }
}

当然这只会打印每个数字一次,我不知道如何打印每个数字 n 次。谁能给我一些建议?

【问题讨论】:

  • 尝试删除if (i == j) {
  • 这明显是为了上课,所以我不想只给你答案。解决此问题的一种方法是简化它,以便它完成您需要的部分功能,更正,然后添加更多部分。例如,尝试从一个数字列表开始。 (我这样开始你是因为你的代码太复杂了。简化它会帮助你看到错误。)

标签: java for-loop integer


【解决方案1】:

试试这个

for (int i = 1; i <= numTimes; i++) {
    for (int j = 1; j <= i; j++) {
        System.out.print(i + " ");
     }
     System.out.println();

}

外部循环从1..numTimes 循环。内部循环从1...i 次循环,因此您可以打印i i 次的值。

【讨论】:

  • 仅仅给人们提供课程作业的答案有点不酷。这不是人们学习的方式。
  • @markspace OP 已经完成了大部分工作。只是错过了循环条件。所以,这不像是我在做 OP 的全部作业
【解决方案2】:

这不会导致您的程序出现错误,而只是说明:您正在声明和初始化变量 b 和 c 但您没有在循环中的任何地方使用它们,因此它们只是在浪费不必要的空间。事实上,您甚至不需要变量 numTimes。只需使用您的参数 a。

话虽如此,您所犯的错误在于 if 子句。您想打印每个 i 值 j 次,但您的代码仅在 i 等于 j 时打印到控制台。因此,这就是为什么它只打印每个值一次 (1 2 3 4) 而不是您想要的。

试试下面的代码,如果您有任何问题,请告诉我。祝你好运!

public static void calculateNum(int a ){
        for (int i = 1; i <= a; i++) {
            for (int j = 1; j <= i; j++) {
                    System.out.print(i + " ");

            }
            System.out.println(" ");
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2021-10-15
    • 2012-06-26
    • 2018-08-15
    • 2012-05-05
    • 2019-09-29
    • 2022-01-16
    相关资源
    最近更新 更多