Я пытаюсь написать метод Java, который печатает рождественскую елку после принятия двух параметров: количества сегментов и высоты каждого сегмента. Предполагается, что с ...

0
johnzenten 13 Дек 2020 в 08:43

1 ответ

Лучший ответ

Идея этого цикла, особенно для нарисованного вами изображения, заключается в том, что height представляет не высоту дерева, а его отдельный сегмент. В данном случае это 4. numberOfSegments равно 3.

В вашем первом цикле i идет от 1 до numberOfSegments включительно, поэтому он будет повторяться 3 раза (по одному для каждого сегмента). (numberOfSegments - i) - это простой способ перевернуть счетчик. Первый цикл, это 3 - 1 - итак, 2, в следующий раз будет 1, затем 0. Итак, i считает 1, 2, 3, а (numberOfSegments - i) считает 2, 1, 0.

То же самое относится к height - j. j считает 1, 2, 3, 4, а height - j считает 3, 2, 1, 0.

Для любой данной отдельной строки вашего дерева общее количество звезд, которое вы хотите видеть, зависит как от точной итерации цикла высоты (например, в первом сегменте, в первый раз это 1 звезда, во второй раз в 3, в третий раз в 5). , четвертый раз 7) - глядя на только этот сегмент, при первом просмотре вам потребуется на 3 дополнительных пробела по сравнению с прошлым разом, который равен 0.

Я предлагаю вам на время оставить nOfSegments равным 1, пока вы не поймете, как работает только код высоты. Как только вы последуете этому, снова добавьте numberOfSegments, это просто расширение того же принципа.

0
rzwitserloot 13 Дек 2020 в 06:03