Примечание 1: у меня уже есть грубый, многословный, зацикленный грязный код.
Примечание 2: Ищем более элегантные способы установить это - «меньшее» количество строк и умную логику.
Примечание 3: не домашнее задание, я хобби, пытаюсь улучшить.
Функция для кодирования:
printNumericPyramid(int depth, String alignment, String orientation);
глубина: + целое число до 4
выравнивание: один из «левый» / «правый»
ориентация: одна из "вертикально" / "перевернутая"
0 всегда будет на вершине, в вертикальном или в обратном направлении.
0259/9520 всегда будет высотой пирамиды.
Выборка вызовов и ожидаемых результатов:
printNumericPyramid(4, "left", "inverted");
9876
543.
21..
0...
printNumericPyramid(4, "right", "upright");
...0
..12
.345
6789
printNumericPyramid(4, "right", "inverted");
6789
.345
..12
...0
printNumericPyramid(4, "left", "upright");
0...
21..
543.
9876
Было бы замечательно, если бы "меньшее" количество строк могло быть в центре внимания предлагаемого решения. Не путем удаления всех разрывов строк :), а путем минимизации кода (даже если это ухудшает читабельность).