我想用Java打印此模式

时间:2018-07-13 06:00:27

标签: java

         1
        333
       55555
      7777777
     999999999

程序打印数字金字塔。我想用Java打印此模式。

我的代码:

private static void pyramid() {
    System.out.println("Please Enter any number less than 10 : ");
    Scanner scan = new Scanner(System.in);
    int num = scan.nextInt();
    int temp = num;
    for (int row = 0; row <= num; row++) {

        for (int column = 0; column < temp; column++) {

            System.out.print(" ");
        }
        temp--;
        for (int k = 0; k <= row-1; k++) {
            if (row % 2 != 0) {
                System.out.print(row);
            }
            System.out.println();
        }

    }
}

我得到以下输出:

Please Enter any number less than 10 : 

9
                 1


      3
3
3




    5
5
5
5
5






  7
7
7
7
7
7
7








9
9
9
9
9
9
9
9
9

1 个答案:

答案 0 :(得分:2)

System.out.println("    1");
System.out.println("   333");
System.out.println("  55555");
System.out.println(" 7777777");
System.out.println("999999999");

您的老师可能希望您使用循环。

因此,您应该注意,程序员可以闭上眼睛就可以看到的循环标准:

for (int i = 0; i < someNumber; i++) {
  //..
}

是相当可配置的。例如,最后的i ++表示要递增i,但是我们可以递增更大的值(或递减,或者做一些其他时髦的事情,如单步执行对象列表等等)。

例如

i += 3;

将i增加三。

您还可以将循环嵌套在另一个内部,例如

for (int i = 1; i < 10; i+=2) {
  String s = "";
  for (int j = 0; j < i; j++) {
    s += i;
  }
  System.out.println(s);
}

我把前面的填充留给读者练习。


请注意,这种模式(一个循环在另一个循环内,而内部循环受外部循环计数器限制)实际上很常见,“在野外”,因此值得花时间来理解。