Попытка напечатать пирамиду возрастающих чисел с линиями по бокам, используя только вложенные циклы for (Java) - PullRequest
3 голосов
/ 10 июля 2020

Я новичок в Java. Решал вложенные на l oop вопросов ... Потом возник этот вопрос. После исследований и повторных попыток я не мог понять это. Это должно быть решено с использованием только вложенных циклов 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();
}

1 Ответ

3 голосов
/ 10 июля 2020

Вам просто нужно добавить еще один для l oop, чтобы напечатать - с правой стороны. Также теперь первая и третья l oop будут выполняться вдвое меньшее количество раз

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();
}
...