пытаюсь сделать красивый вывод задачи "Разбираем пирамиду бокалов"
в выводе должна быть пирамидка и перевернутая пирамидка (запустите мой код чтобы понять).
package com.javarush.task.pro.task12.task1215;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
/*
Разбираем пирамиду бокалов
*/
public class Solution {
private static ArrayList<String> initList() {
String glassTop = " 🍷 ";
String glassSecond = " 🍷🍷 ";
String glassThird = " 🍷🍷🍷 ";
String glassFourth = " 🍷🍷🍷🍷 ";
String glassFifth = " 🍷🍷🍷🍷🍷 ";
String glassSixth = " 🍷🍷🍷🍷🍷🍷 ";
String glassSeventh = " 🍷🍷🍷🍷🍷🍷🍷 ";
String glassEighth = "🍷🍷🍷🍷🍷🍷🍷🍷";
ArrayList<String> list = new ArrayList<>();
list.add(glassEighth);
list.add(glassSeventh);
list.add(glassSixth);
list.add(glassFifth);
list.add(glassFourth);
list.add(glassThird);
list.add(glassSecond);
list.add(glassTop);
return list;
}
public static void print(ArrayList<String> glasses) {
for (int i = glasses.size() - 1; i >= 0; i--) {
System.out.println(glasses.get(i));
}
}
public static void removeGlassesReverse(ArrayList<String> glasses) throws InterruptedException {
System.out.println("Начинаем разбирать пирамиду...");
int size = glasses.size();
int deductible = 1;
do {
for (int i = 0; i < size; i++) {
glasses.remove(glasses.size() - deductible);
deductible++;
for (int j = 0; j < glasses.size(); j++) {
for (int k = 0; k < glasses.get(j).length(); k++) {
System.out.println(glasses.get(k));
TimeUnit.SECONDS.sleep(1);
}
}
}
} while (glasses.size() != 0);
System.out.println("Пирамида разобрана!");
}
public static void main(String[] args) throws InterruptedException {
ArrayList<String> glasses = initList();
print(glasses);
removeGlassesReverse(glasses);
print(glasses);
}
}