【问题标题】:How can I stack up the number patterns with while loop in java?java - 如何在java中使用while循环堆叠数字模式?
【发布时间】:2016-02-05 16:41:29
【问题描述】:

尊敬的专业人士! 我是Java编程的超级初学者。 我只是在学校学习一些基本的东西。 当我做作业时,我遇到了一个问题。

问题是使用嵌套循环来制作这种堆叠数字模式:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10

我只能使用while循环(因为我们还没有学习for或do循环),外层循环体应该执行10次。 我可以使用 print 和 println 来制作这个图案。

我用 while 循环尝试了许多不同的方法,但我无法弄清楚。

请给我一些提示。

这是我目前正在处理的代码:

class C4h8
{
    public static void main(String[] args)
    {
        int i, j;

        i = 1;
        while(i <= 10)
        {
            j = 1;
            while (j <= 10)
            {

                System.out.print(j);
                j++;

            }


            System.out.println();
            i++;

        }

    }
}

但它只显示:

12345678910
12345678910
12345678910
12345678910
12345678910
12345678910
12345678910
12345678910
12345678910
12345678910

我的问题可能看起来很愚蠢,但我真的很挣扎,因为就像我提到的那样,我是一个超级初学者.. 请帮助我,以便我可以学习并继续前进!

非常感谢!

【问题讨论】:

  • 在内部 while 循环中使用 while(j

标签: java while-loop nested-loops


【解决方案1】:

使用如下:你需要通过变量i来限制变量j来实现你的输出

class C4h8
{
    public static void main(String[] args)
    {
        int i, j;

        i = 1;
        while(i <= 10)
        {
            j = 1;
            while (j <= i) // limit the variable j by i 
            {

                System.out.print(j+" ");
                j++;

            }

            System.out.println();
            i++;

        }
    }
}

【讨论】:

  • 谢谢!非常感谢!!
【解决方案2】:

使用 while 循环减少代码

int i = 0;
int limit = 10;
while(++i <= limit){
    int j = 0;
    while(++j <= i)
        System.out.print(j+" ");
    System.out.println();
}

【讨论】:

  • 谢谢!我一定会试试这个! :)
  • @learnerh 在你了解它的含义之前不要这样做,并理解任何一天更易读的代码都比花哨的代码更好。
  • 不客气!我认为您应该将此问题标记为已回答,不是吗? :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
  • 2015-05-02
  • 2019-10-26
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 2022-12-20
相关资源
最近更新 更多