编写产生此输出的 NESTED LOOP 代码段

Write a NESTED LOOP code segment that produces this output

我知道还有另一个同名话题,但答案并不是我要找的那个。

我只能使用for循环。另一个答案使用复杂的语法,如:

reverse = !reverse ? i == max : reverse;

i = reverse ? i-1 : i+1;

还能再简单点吗?

非常感谢。

所以,这是输出。

我只能到 4 我不知道如何从那里保持...

1

1 2

1 2 3

1 2 3 4

1 2 3

1 2

1

这是我目前拥有的:

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    for(int i=1;i<=4;i++) {
        for(int j = 1; j <= i; j++) System.out.print(j+" ");
        System.out.println("");
    }
    for(int i=4;i>=1;i--){
        for(int j = 1; j <= i; j++) System.out.print(j+" ");
        System.out.println("");
    }
}

}

但我的输出如下:

1

1 2

1 2 3

1 2 3 4

1 2 3 4

1 2 3

1 2

1

你好
我已经使用下面的代码

public class Test
{
    public static void main(String args[]) {
            int j,i;
            int max=4;
            int n=0;
            for(i=0;i<((max*2)-1);i++)
            {
                    if(i<max)
                     n++;
                    else
                     n--;
                    for(j=1;j<=n;j++)
                    {
                            System.out.print(j+" ");
                    }
                    System.out.println("");
            }
    }
}

下面是输出


你可以将它概括为任何数字我希望这没问题

你的两个外循环是:

for(int i=1;i<=4;i++) {
for(int i=4;i>=1;i--) {

这将生成序列 1, 2, 3, 4, 4, 3, 2, 1。如果您只想在输出中有一个 4 长度的行,请将第二个循环更改为:

for(int i=3;i>=1;i--) {

所以它从 3 开始,而不是 4。问题是,目前,您的两个外循环都一个接一个地生成值 4。