Отображение фигур в консоли с помощью цикла do - while
Здравствуйте, пожалуйста, как вывести в консоль данную фигуру с помощью цикла do-while:
У меня есть такой вариант решения, но он не верен, так как в нем много проверок, подскажите как можно решить эту задачу только с помощью цикла do-while?
do {
if (i == 1) {
System.out.println(symblAce);
} else if (i > 1 && i < 4) {
System.out.print(symblAce);
} else if (i == 4) {
System.out.print("\n" + symblAce);
} else if (i > 4 && i < 7) {
System.out.print(symblAce);
} else if (i == 7) {
System.out.print("\n" + symblAce);
} else if (i > 7 && i < 9) {
System.out.print(symblAce);
} else {
System.out.println("\n" + symblAce);
}
i++;
} while (i <= 9);
Ответы (1 шт):
Автор решения: LittleBudda
→ Ссылка
public class Main {
public static void main(String[] args) {
//Скольк строк вывести
int countLine = 5;
//Максимальное количество символов
int sizeMaxLine = 3;
//Символ, который выводим
String symbol = "$";
//Начальная строка
int countShowLines = 0;
//Увеличивать или уменьшать значения
boolean isIncrement = true;
while (countShowLines != countLine) {
if (isIncrement) {
for (int i = 1; i <=sizeMaxLine; i++) {
String str = symbolEqualsOnNumber(symbol,i);
System.out.println(str);
countShowLines++;
}
} else if (!isIncrement) {
for (int y = sizeMaxLine-1; y>0; y--){
String str = symbolEqualsOnNumber(symbol,y);
System.out.println(str);
countShowLines++;
}
}
if (countShowLines == sizeMaxLine) {
isIncrement = false;
}
}
}
public static String symbolEqualsOnNumber(String symbol,int count){
String result="";
while (count!=0){
result=result+symbol;
count--;
}
return result;
}
}
У меня получился следующий алгоритм, конечно не идеальный, так как входных условий задачи мало, просто пример, того что надо вывести. Но относительно универсальный.
