尝试仅使用嵌套 for 循环打印一个边上有线条的递增数字金字塔 (Java)

Trying to print an increasing number pyramid with lines on the sides, using only nested for loops (Java)

我是 Java 的初学者。 我正在解决嵌套的for循环问题......然后出现了这个问题。经过研究和重试后,我无法理解它。必须使用 only 嵌套 for 循环来解决。

这是问题希望我的代码输出的内容:

-----1-----
----333----
---55555---
--7777777--
-999999999-

这是我得到的最接近的结果:

---------1
-------333
-----55555
---7777777
-999999999

这是我的代码:

for (int line = 1; line <= 9; line+=2) {
    for (int j = 1; j <= (-1 * line + 10); j++) {
        System.out.print("-");
    }
    for (int k = 1; k <= line; k++) {
        System.out.print(line);
    }
    System.out.println();
}

你只需要添加另一个for循环来在右侧打印-。 现在第一个和第三个循环将执行一半的次数

for (int line = 1; line <= 9; line+=2) {
    for (int j = 0; j <= (-1 * line + 10) / 2; j++) {
        System.out.print("-");
    }
    for (int k = 1; k <= line; k++) {
        System.out.print(line);
    }
    for (int j = 0; j <= (-1 * line + 10) / 2; j++) {
        System.out.print("-");
    }
    System.out.println();
}