java 我被这个模式问题卡住了

8fsztsew  于 2023-09-29  发布在  Java
关注(0)|答案(2)|浏览(87)

如何在java中打印这个模式?

98765
4567
345
23
1

这是我的代码。

int rows=5;
int k=0;

for(int i=1;i<= rows ; i++){

    for(int j=1;j<=i;++j){
        System.out.print(k+j);
    }

    ++k;

    System.out.println();
}
eyh26e7m

eyh26e7m1#

要在Java中打印给定的模式,可以按如下方式修改代码:

int rows = 5;
int k = 9;

for (int i = 1; i <= rows; i++) {
    for (int j = 1; j <= i; j++) {
        System.out.print(k);
        k--;
    }
    k = 9 - i;
    System.out.println();
}

此代码将生成以下模式:

98765
4567
345
23
1

以下是所做更改的说明:

初始化k,初始值为9,即起始数。在嵌套循环中,打印k的当前值,然后递减。每行后,将k重置为其起始值减去行号。

0s7z1bwu

0s7z1bwu2#

试试这个但是这段代码没有提供第一行。你确定第一行不是56789吗?

int rows = 5;
int k = rows;
int a = rows;
int b = rows + 1;
int loopCount = 1;

// Outer loop to iterate through rows
for (int i = 0; rows >= i; ++i) {

    // Inner loop to print numbers in each row
    for (int j = 1; j <= a; j++) {
        System.out.print(k);
        k++;
    }
    k = k - b;
    a = rows - loopCount;
    b = b - 1;
    loopCount++;
    // Print a space after each row
    System.out.println();
}

当您运行此代码时,它将生成以下模式。

56789
4567
345
23
1

您可以在这里更改行并获取模式。

相关问题