Построить пирамиду из символов

725
18 июля 2017, 18:22

Написал метод, который строить пирамиду из символов "^". Саму пирамиду рисует правильно, только вот есть лишний пробел и переход на новую строку, то есть при тестировании пишет

(Expected: is " ^ \r\n^^^" but: was " ^ \r\n^^^ \r\n")

Как это убрать?

public String piramid(int h) {
StringBuilder builder = new StringBuilder();
    for (int i = 0; i < h; i++) {
        for (int j = 0; j < h * 2; j++) {
            if (j > h - 2 - i && j < h + i) {
            builder.append("^");
            } else {
            builder.append(" ");
            }
        }
        builder.append(System.getProperty("line.separator"));
    }
    return builder.toString();
}
Answer 1

Думаю, достаточно добавить дополнительные проверки, а не последние ли это у нас строка/символ? Например, так:

public String piramid(int h) {
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < h; i++) {
        for (int j = 0; j < h * 2; j++) {
            if (j > h - 2 - i && j < h + i) {
                builder.append("^");
            } else if (j < h * 2 - 1) {
                builder.append(" ");
            }
        }
        if (i < h - 1) {
            builder.append(System.getProperty("line.separator"));
        }
    }
    return builder.toString();
}
READ ALSO
проблемы с конфигурацией логгера, java

проблемы с конфигурацией логгера, java

У меня есть файл конфига для логгера log4jxml, но когда я пытаюсь его подключить для инициализации логгера, почему то он его ищет не в папке проекта...

229
Как проверить переменную на тип в Java

Как проверить переменную на тип в Java

Как проверить переменную, вводимую через Scanner, на принадлежность к типу double ?

269
Теги на кириллице из xml

Теги на кириллице из xml

Вот сам xml файл:

365
Получить корневой каталог Ubuntu в Java

Получить корневой каталог Ubuntu в Java

Как в Java получить корневой каталог Ubuntu, то бишь /?

192