Вывод на экран треугольника

512
28 декабря 2016, 03:25

Написал код для вывода треугольника:

int n = key.nextInt();
for (int i = 0; i <= n; i++) {
    for (int j = i; j > 0; j--) {
        System.out.print("* ");
    }
    System.out.println();
}

Результат:

* 
* * 
* * * 
* * * * 

Как вывести этот треугольник в обратном порядке:

   *
  **
 ***
****
Answer 1

нужно просто добавить немного пробелов.

int n = key.nextInt();
for (int i = 0; i <= n; i++) {
    for (int j = 0; j < n-i; j++) {
        System.out.print("  ");
    }
    for (int j = i; j > 0; j--) {
        System.out.print("* ");
    }
    System.out.println();
}
Answer 2

Можно сделать так:

String text = "*";
for (int i = 1; i < 10; i++)
        System.out
                  .printf(
                      "%1$10s\n", 
                       String.join("", Collections.nCopies(i, text)));

Паттерн %1$10s\n обозначает, выравнивание слева пробелами, для текста максимальной длины 10.

READ ALSO
NullPointerException при использовании SimpleDateFormat

NullPointerException при использовании SimpleDateFormat

Пытаюсь получить дату определенного формата:

438
Java Properties проблема с чтением русских букв

Java Properties проблема с чтением русских букв

Доброго времени сутокЕсть проблема с чтением файла Properties, содержащего русские буквы

499
Collections.unmodifiable* как определить?

Collections.unmodifiable* как определить?

Известно, что есть класс javautil

364