java中的数字模式程序

如何打印下面的三角形:


2  3  5  8  3  8

   4  6  9  4  9

      7  1  5  1

         2  6  2

            7  3

               4

首先你需要从数字 2 开始,并垂直添加一个到下一个


我的代码:


        int d = 2, n = 6;

        for (int line=1; line <= n; line++ ) {

            for (int j = 2; j <= line; j++) {

                System.out.print("  ");

            }

            for (int k = line; k <= n; k++) {

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

                    d = d + k;

                    if (d > 9) {

                        d = d - 9;

                    }

            }

            System.out.println();

        }

结果:


2 3 5 8 3 8 

  5 7 1 5 1 

    7 1 5 1 

      7 2 7 

        4 9 

          6 


江户川乱折腾
浏览 76回答 1
1回答

凤凰求蛊

该模式是d必须根据前一行的第一个实例中的值在每一新行上最初计算的值。这是这里遗漏的部分。您可以通过让临时变量在每一行上存储初始值并基于该值进行打印来实现。我在这里使用了一个变量,它可以帮助打印您需要的图案。ddtempD&nbsp; &nbsp; int d = 2, n = 6;&nbsp; &nbsp; int tempD = d - 1;&nbsp; &nbsp; for (int line = 1; line <= n; line++) {&nbsp; &nbsp; &nbsp; &nbsp; tempD = tempD + line;&nbsp; &nbsp; &nbsp; &nbsp; if (tempD > 9) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tempD = tempD - 9;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; d = tempD;&nbsp; &nbsp; &nbsp; &nbsp; for (int j = 2; j <= line; j++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print("&nbsp; ");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; for (int k = line; k <= n; k++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print(d + " ");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d = d + k;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (d > 9) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d = d - 9;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; System.out.println();&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java