繁体   English   中英

我想用 Java 打印这个模式

[英]I want to print this pattern in 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
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);
}

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


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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM