Для себя Не понимаю, как решить задачу. Не хочу списывать, мне важно понимание. Буду благодарен за созвон и возможность решить вместе Перед нами стоит очень не простая задача. Нам нужно реализовать свинку-копилку. Важно позаботиться, чтобы копилка была одна для всего приложения (нам очень важно, чтобы все деньги были в одном месте). Поэтому копилка должна быть Singleton. В копилке должно быть 2 свойства: список монет/купюр, положенных в копилку. свойство типа Boolean, которое будет хранить в себе состояние копилки. Копилка может быть разбита или нет (по умолчанию копилка целая). Для нашей копилки нужно создать 3 метода: putMoney(money: Money), с помощью этого метода можно положить новую монетку/купюру в копилку и вывести сообщение «Добавлено в копилку $money». Если на момент вызова метода копилка разбита, то нужно показать сообщение «Вы разбили копилку, вы больше ничего положить туда не можете» и завершить выполнение метода. shake(): ArrayList иногда копилку можно потрясти и оттуда точно выпадет монетка (если есть, купюра выпасть не может). Выпавшая монетка должна быть удалена из копилки. Если в копилке нет монеток, то вернуть null. Если на момент вызова метода копилка разбита, то показать сообщение «Вы разбили копилку, больше оттуда ничего не вытрясти» и вернуть из метода null. smash(): ArrayList выводит сообщение «Копилка разбита, вы достали оттуда монеты: $moneys», устанавливает флаг, что копилка разбита true и возвращает список всех монет/купюр пользователю. Наша копилка должна принимать на вход монетки и купюры. Для этого нужно создать класс Money. Класс Money должен иметь 2 поля: amount типа Float, которое отражает номинал монетки/купюры. isCoin типа Boolean поле, которое говорит, монетка ли это. Класс Money должен быть спроектирован так, чтобы не было возможности создавать монетки/купюры с любым номиналом. Нам нужны только: монетки номиналом: 10 копеек (0.1f), 50 копеек (0.5f) и 1 рубль (1f); купюры номиналом: 50, 100, 500 и 1000 рублей. Переопределите метод toString() в классе Money так, чтобы он возвращал строку вида: “10 коп.“, если это монетка; “100 руб.“, если это купюра.