有人能解释一下Java嵌套循环是如何使用数字模式的吗?

有人能解释一下Java嵌套循环是如何使用数字模式的吗?,java,for-loop,nested-loops,Java,For Loop,Nested Loops,我很难理解嵌套循环和数字模式是如何工作的。我已经完成了除3之外的所有模式。有人能帮我解释一下这个代码吗 public class Patterns7{ public Patterns7() { } public void displayPatternI(int lines) { System.out.println("\n\tPattern I\n"); for (int i = 1; i <= lines; i++)

我很难理解嵌套循环和数字模式是如何工作的。我已经完成了除3之外的所有模式。有人能帮我解释一下这个代码吗

public class Patterns7{
    public Patterns7() {
    }

    public void displayPatternI(int lines) 
    {
        System.out.println("\n\tPattern I\n");
        for (int i = 1; i <= lines; i++)
        {
            for (int j = 1; j <= i; j++)
                System.out.print (j + " " );
            System.out.println();
        }
    }

    public void displayPatternII (int lines) 
    {
        System.out.println("\n\tPattern II to be implemented\n");
        for (int i = 1;i <= lines; i++) 
        { 
            for(int j = i;j >= 1; j--) 
                System.out.print(j); 

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

    public void displayPatternIII (int lines) 
    {
        System.out.println("\n\tPattern III  to be implemented\n");
        for (int i = 1; i <= lines; i++)
        {
            for (int space = 1; space <= lines-i; space++)
                System.out.print (" ");

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

            System.out.println();
        }

        System.out.println();
    }
}
但我能做的就是:

      1

     1 2

    1 2 3

   1 2 3 4

  1 2 3 4 5

 1 2 3 4 5 6
我不确定如何让输出从6开始,然后减少然后增加

模式V应该是这样的:

      6

     56

    456

   3456

  23456

 123456
          1

        2 1 2

       3 2 1 2 3

      4 3 2 1 2 3 4

     5 4 3 2 1 2 3 4 5

    6 5 4 3 2 1 2 3 4 5 6
    1

     1 2 3

    1 2 3 4 5
              1

            2 1 2

          3 2 1 2 3

        4 3 2 1 2 3 4

      5 4 3 2 1 2 3 4 5

    6 5 4 3 2 1 2 3 4 5 6

    6 5 4 3 2 1 2 3 4 5 6

      5 4 3 2 1 2 3 4 5 

        4 3 2 1 2 3 4

          3 2 1 2 3

            2 1 2

              1
      1

     1 2 3

    1 2 3 4 5

    1 2 3 4 5

     1 2 3

      1
但结果是这样的:

      6

     56

    456

   3456

  23456

 123456
          1

        2 1 2

       3 2 1 2 3

      4 3 2 1 2 3 4

     5 4 3 2 1 2 3 4 5

    6 5 4 3 2 1 2 3 4 5 6
    1

     1 2 3

    1 2 3 4 5
              1

            2 1 2

          3 2 1 2 3

        4 3 2 1 2 3 4

      5 4 3 2 1 2 3 4 5

    6 5 4 3 2 1 2 3 4 5 6

    6 5 4 3 2 1 2 3 4 5 6

      5 4 3 2 1 2 3 4 5 

        4 3 2 1 2 3 4

          3 2 1 2 3

            2 1 2

              1
      1

     1 2 3

    1 2 3 4 5

    1 2 3 4 5

     1 2 3

      1
代码:

但看起来是这样的:

      6

     56

    456

   3456

  23456

 123456
          1

        2 1 2

       3 2 1 2 3

      4 3 2 1 2 3 4

     5 4 3 2 1 2 3 4 5

    6 5 4 3 2 1 2 3 4 5 6
    1

     1 2 3

    1 2 3 4 5
              1

            2 1 2

          3 2 1 2 3

        4 3 2 1 2 3 4

      5 4 3 2 1 2 3 4 5

    6 5 4 3 2 1 2 3 4 5 6

    6 5 4 3 2 1 2 3 4 5 6

      5 4 3 2 1 2 3 4 5 

        4 3 2 1 2 3 4

          3 2 1 2 3

            2 1 2

              1
      1

     1 2 3

    1 2 3 4 5

    1 2 3 4 5

     1 2 3

      1

有人能帮我解释一下怎么做吗?

你一次只能问一个问题,但这里有一个解决你第一个问题的方法。对于
SIZE
等于6:

public void displayPatternIII (int lines) 
{
  System.out.println("\n\tPattern III  to be implemented\n");
    for (int i = lines; i >= 1; i--)
      {
        int space = 1;
        for (; space <= i-1; space++)
          System.out.print (" ");

        for (int j = space; j <= lines; j++)
          System.out.print (j);

        System.out.println();
      }
}
123456

您可能需要以下内容:

String temp;

for(int i = 0; i < SIZE; i++)
{
    temp = "";

    for(int j = SIZE - i; j <= SIZE ; j++) 
    {
        temp += j;
    }

System.out.printf("%" + SIZE + "s\n", temp);
}
字符串温度;
对于(int i=0;i对于(intj=SIZE-i;j)调试器:“我可以解释!!”问得很糟糕。这是你的家庭作业吗?@Maroun Maroun好的。我做错了什么?@Kon这是一个每个人都花更多时间批评问题而不是回答问题的网站吗?如果是的话,你能告诉我一个对初学者更友好的网站的方向吗?你至少应该努力更好地“放大”在你的问题上,找出那些不符合你期望的东西。软件开发人员所期望的品质之一就是能够很好地解释你的问题。仅仅发布大量的代码并发布“请解决这个问题!”不是这里的想法。你真的愿意研究和学习吗?附言:有时候这个网站对新手来说很难rs.接受。它可能会提供一些有用的建议。谢谢你的帮助。我不明白你为什么把String temp放在那里。@KelliDavis-他把每一行作为字符串而不是数字输出。首先,你用连接运算符将每一个数字构造成字符串-6、56、456等等。内部循环创建数字,然后用作输出。@我很好。那么i和j究竟控制什么?它们是如何工作的?i是行的数量,j是数字吗?反之亦然?@KelliDavis看到这一点的最好方法是自己跟踪循环。