如何在Java中使用while循环堆叠数字模式?

3
亲爱的专业人士们! 我是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

由于我们还没有学习for或do循环,因此我只能使用while循环。外部循环体应该执行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

我的问题可能看起来很傻,但我真的很困扰,因为如我所提到的,我是一个超级初学者。。请帮助我,这样我就可以学习并继续前进!

非常感谢你!


4
在内部 while 循环中使用 while(j<=i)。这样就可以正常工作。 - Pooja Arora
2个回答

4
使用以下代码:你需要用变量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++;

        }
    }
}

谢谢!非常感谢!! - learnerJ

0

使用 while 循环更少的代码

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

谢谢!我一定会尝试的! :) - learnerJ
@learnerh 在你理解更易读的代码比花哨的代码更好的道理之前,不要轻易妄动。 - anon
不客气!我认为你应该将这个问题标记为已回答,对吧? :) - Makandal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接