Расстояние до ствола елки - PullRequest
0 голосов
/ 08 мая 2019

У меня есть упражнение, где я должен напечатать елку.

    public class ChristmasTree {
        public static void main(String[] args) {
            int size = 6;
            printChristmasTree(size);
    }



 public static void printChristmasTree(int size) {
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size - i; j++) {
                System.out.print(" ");
            }
            for (int j = 0; j < (2 * i + 1); j++) {
                System.out.print("*");
            }
            System.out.println();
        }
        for (int k = 0; k < 1; k++) {
            System.out.print("**");
            System.out.println();
        }
        System.out.println();
    }

}

Что я получаю:

      *
     ***
    *****
   *******
  *********
 ***********
**

Как я могу это исправить? Как мне изменить этот цикл, чтобы переместить этот ствол в центр этого дерева?

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Измените

     for (int k = 0; k < 1; k++) {
        System.out.print("**");
        System.out.println();
     }

на

    for (int k = 0; k < size; k++) {
        System.out.print(" ");
    }
    System.out.print("**");

Вам нужно выполнить цикл, чтобы найти количество пробелов по размеру и разместить их соответственно.Отрегулируйте переменную цикла k, если она немного отключена.

0 голосов
/ 08 мая 2019

Вы сказали, что рождественское дерево, так что я догадался, что вы хотите, чтобы ствол дерева был в разных линиях.Если это то, что вы хотите, это код здесь:

for (int k = 0; k < 2; k++) {
    for (int l = 0; l <= size; l++) {
        if (l != size)
            System.out.print(" ");
        else
            System.out.println("*");
    }
    System.out.println();
}

Если вы хотите, чтобы в той же строке здесь вы были:

    for (int l = 0; l <= size; l++) {
        if (l != size)
            System.out.print(" ");
        else
            System.out.print("**");
    }
    System.out.println();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...