Java中的数字模式

时间:2018-07-27 08:04:24

标签: java for-loop

我正在尝试制作一个输出的程序
this pattern.

到目前为止,我已经完成:

public class printPattern {
  public static void main(String[] args) {
  int a = 6;
  int i, j;
  int max = 1;
  int num;

  for(i = 1; i <= a; i++){
  num = 1;
  System.out.println("0");
    for(j = 1; j <= max; j++){
    System.out.print(num);
    System.out.print(" ");
    num++;
    }
  max++;
  }
  }
}

但是我得到的输出是

this.

那里有“ 0”来显示空格,但是我想删除包含第一个“ 0”的整行,以便输出以“ 1”开头。我不确定该更改什么。任何帮助将非常感激。谢谢。

3 个答案:

答案 0 :(得分:5)

我建议添加 conditions (如果需要打印定界符):

   for (int i = 1; i <= a; ++i) {
     if (i > 1)
       System.out.println();   // more than 1 line, need delimiter (new line)

     for (int j = 1; j <= i; ++j) {
       if (j > 1) 
         System.out.print(" "); // more than 1 column, need delimiter (space)

       System.out.print(j);
     }   
   }

答案 1 :(得分:4)

最短形式:

String str = "";
for (int i = 1; i <= 6; i++) {
  str = str + " " + i;
  System.out.println(str);
}

输出:

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

答案 2 :(得分:2)

    public class printPattern {
      public static void main(String[] args) {
      int a = 6;
      int i, j;
      int max = 1;
      int num;

      for(i = 1; i <= a; i++){
      num = 1;

        for(j = 1; j <= max; j++){
        System.out.print(num);
        System.out.print(" ");
        num++;
        }
       System.out.println(" ");
      max++;
      }
      }
    }

这按您的要求进行。只需从打印语句中删除0