java 如何打印起始元素与结束元素不相同图案

hjzp0vay  于 2023-01-19  发布在  Java
关注(0)|答案(2)|浏览(114)

如何打印一个模式,其中ij变量不应该打印的模式行?我尝试了很多次,我改变值没有结果。

int k = 1, p = 0;
for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= i; j++) {
        p += k;
        System.out.print(p + " ");
    }

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

以上代码是生成的输出:
所需输出:

1
3 5
5 8 11
7 11 15 19
9 14 19 24 29
qoefvg9y

qoefvg9y1#

每次i循环后,必须使用k的当前值更新p。使用此代码可以生成以下输出:

int k = 0;
for (int i = 1; i <= 5; i++) {
    int p = k++;
    for (int j = 1; j <= i; j++) {
        p += k;
        System.out.print(p + " ");
    }
    
    System.out.println();
}

为了更好地设置格式,可以使用

System.out.printf("%-4d", p);
x6yk4ghg

x6yk4ghg2#

我会这么写:

int numRows = 5;
for (int row = 1; row <= numRows; row++) {
  for (int col = 1, p = (row*2)-1; col <= row; col++, p+=row) {
    System.out.print(p + " ");
  }
  System.out.println();
}

我看到的模式如下:

  • 第一行被指定为行#1(非零)
  • 每行的起始编号为(Row * 2)- 1
  • 每行的列数与当前行号相同
  • 在每一行中,编号按当前行号递增

相关问题