Помогите решить задачу на джава
Не получается оформить вывод основной функции. Смысл заключается в том, что кол-во знаков "!" возрастает каждый раз на один. Но если вывод этих знаков упирается в стенку "|", то вывод переносится на другую строчку. Всё происходит в зависимости от параметров высоты и ширины.
Язык java. Прямо сейчас сижу в IDEA, с тегом ошибся.
Правда помощь нужна, мне сегодня нужно задачу сдать.
public class Main {
public static void main(String[] args) {
int width = 14;
int height = 17;
height -= 2;
drawEveryThing(width, height);
}
private static void drawEveryThing(int w, int h) {
drawHeader(w);
drawFunc(w, h);
drawHeader(w);
}
private static void drawHeader(int w) {
System.out.print(" ");
for (int i = 0; i < w - 1; i++) {
System.out.print("-");
}
System.out.println(" ");
}
private static void drawFunc(int w, int h) {
String b = "";
String c = " ";
for (int i = 0; i < h; i++) {
int i1 = 0;
i1 += i;
System.out.print("|");
for (int k = 0; k < i1; k++) {
b += " ";
}
System.out.print(b);
for (int j = 0; j < i + 1; j++) {
System.out.print("!");
if (b.length() + j + 2 == w) {
System.out.print("|");
System.out.println();
System.out.print("|");
}
}
for (int j = 0; j < w - b.length() - 2 - i; j++) {
System.out.print(c);
}
System.out.print("|");
System.out.println();
}
}
Источник: Stack Overflow на русском