Created
June 19, 2020 21:01
-
-
Save olegrewko/871f245cbf8a18afa39c27ffa39341b8 to your computer and use it in GitHub Desktop.
Кошки ООП 9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package IgorDolgov.cats; | |
| //class Cat { | |
| // int consumed; // храним кол-во съеденной пищи | |
| // void eatFrom(Plate plate) { | |
| // // int portion = получите из тарелки порцию еды (так чтобы и в тарелке еда тоже уменьшилась) | |
| // // увеличьте consumed на размер этой порции | |
| // System.out.println("Кошка съела из тарелки " + portion); | |
| // System.out.println("Кошка всего съела " + consumed); | |
| // } | |
| //} | |
| // | |
| // | |
| //class Plate { | |
| // int amount = 100; // сколько еды в тарелке осталось | |
| // int portion = 10; // размер порции | |
| // void feed(Cat cat) { | |
| // // уменьшите размер amount на размер порции (сделайте проверку, чтобы было нельзя съесть больше, чем в тарелке осталось) | |
| // // увеличьте у кошки кол-во потребленной ей еды на размер этой порции | |
| // System.out.println("Тарелка покормила кошку на " + portion); | |
| // System.out.println("В тарелке осталось " + amount); | |
| // System.out.println("Кошка всего съела " + cat.consumed); | |
| // } | |
| // int getPortion() { | |
| // // уменьшите размер оставшейся в тарелке еды на размер порции | |
| // // (сделайте проверку, чтобы было нельзя съесть больше, чем в тарелке осталось) | |
| // // (если еды мало – то всю ее и съесть) | |
| // System.out.println("В тарелке осталось " + amount); | |
| // // верните потребленный размер порции с помощью return | |
| // } | |
| //} | |
| // | |
| // | |
| //public static void main(String[] args) { | |
| // Plate plate = new Plate(); // Общая на всех тарелка | |
| // Cat cat = new Cat(); // Кошка | |
| // cat.eatFrom(plate); // кошка кушает из тарелки, которую передали ей в параметрах | |
| // plate.feed(cat); // тарелка "кормит" кошку, которую ей передали в параметры | |
| // } | |
| //-------------------------------------------------------------------------------------------- | |
| class Count { | |
| public static int count; | |
| int setCount(int count) { | |
| this.count = count; | |
| return count; | |
| } | |
| static int getNextCount() { | |
| count++; | |
| return count; | |
| } | |
| static int showCount() { | |
| count = getNextCount() - 1; | |
| System.out.println("Кошек всего создано: " + count); | |
| return count; | |
| } | |
| } | |
| //-------------------------------------------------------------------------------------------- | |
| public class Main { | |
| public static void main(String[] args) { | |
| Count count = new Count(); | |
| Cat cat = new Cat(); | |
| System.out.println("Устанавливаем счетчик кошек в " + count.setCount(0)); | |
| Bowl bowl = new Bowl();//Общая на всех чаша | |
| bowl.setVoda(2000);//Наливаем воды | |
| Plate plate = new Plate();// Общая на всех тарелка | |
| plate.setEda(3000);//Кладем еды | |
| System.out.println("Общее количество сначала еды " + plate.eda); | |
| System.out.println("Общее количество сначала воды " + bowl.voda); | |
| Plate.portion = Plate.setPortion(100); | |
| Bowl.portionVoda = Bowl.setPortionVoda(200); | |
| System.out.println("Установленный размер стандартной порции еды " + Plate.portion); | |
| System.out.println("Установленный размер стандартной порции воды " + Bowl.portionVoda); | |
| Cat cat1 = new Cat(); // Кошка абстрактная первая | |
| Cat cat2 = new Cat(); // Кошка абстрактная вторая | |
| Cat cat3 = new Cat(); // Кошка абстрактная третья | |
| System.out.println("Создали 3 абстрактные кошки " + cat1.id + " " + cat2.id + " " + cat3.id); | |
| cat1.setName("Земфира"); | |
| // cat1.getName(); | |
| System.out.println("Первую абстрактную кошку назвали " + cat1.name + " Ее номер " + cat1.id); | |
| System.out.println("Первую абстрактную кошку назвали " + cat1.getName()); | |
| cat2.setName("Стелла"); | |
| cat2.getName(); | |
| System.out.println("Вторую абстрактную кошку назвали " + cat2.name + " Ее номер " + cat2.id); | |
| System.out.println("Вторую абстрактную кошку назвали " + cat2.getName()); | |
| cat3.setName("Лора"); | |
| cat3.getName(); | |
| System.out.println("Вторую абстрактную кошку назвали " + cat3.name + " Ее номер " + cat3.id); | |
| System.out.println("Вторую абстрактную кошку назвали " + cat3.getName()); | |
| Cat masha = new Cat("Маша", Count.count); | |
| Cat misha = new Cat("Миша", Count.count); | |
| Cat gala = new Cat("Галя", Count.count); | |
| Cat kate = new Cat("Kate", Count.count); | |
| Cat petr = new Cat("Petr", Count.count); | |
| Cat boris = new Cat("Boris", Count.count); | |
| System.out.println("Маша номер " + masha.id); | |
| System.out.println("Миша номер " + misha.id); | |
| System.out.println("Галя номер " + gala.id); | |
| System.out.println("Kate номер " + kate.id); | |
| System.out.println("Petr номер " + petr.id); | |
| System.out.println("Boris номер " + boris.id); | |
| Count.showCount(); | |
| Cat barsic = new Cat("Barsic", Count.count); | |
| System.out.println("Нашли еще кота на улице и назвали Барсик его номер стал: " + barsic.id); | |
| Count.showCount(); | |
| System.out.println("Чаша будет неизвестно кого поить 3 раза: 100, 400, 300 нестандартными порциями переданными в параметрах"); | |
| bowl.drink(100); | |
| bowl.drink(400); | |
| bowl.drink(300); | |
| System.out.println(kate.name + " " + kate.id + " " + boris.name + " " + boris.id + | |
| " " + barsic.name + " " + barsic.id + " " + misha.name + " " + misha.id + " " | |
| + masha.name + " " + masha.id + | |
| " пришли пить по 5 стандартных порции воды (200 * 5 = 600) "); | |
| kate.drink(bowl, Bowl.portionVoda); | |
| boris.drink(bowl, Bowl.portionVoda); | |
| barsic.drink(bowl, Bowl.portionVoda); | |
| misha.drink(bowl, Bowl.portionVoda); | |
| masha.drink(bowl, Bowl.portionVoda); | |
| bowl.drink(200); | |
| kate.eatFrom(plate, Plate.portion); // кошка кушает из тарелки, которую передали ей в параметрах | |
| cat2.eatFrom(plate, Plate.portion); // кошка2 кушает из тарелки, которую передали ей в параметрах | |
| plate.feed(200); | |
| plate.feed(600); | |
| plate.feed(); | |
| plate.feed(1000); | |
| plate.feed(barsic); | |
| barsic.eat(plate, Plate.portion); | |
| misha.eat(plate, Plate.portion); | |
| misha.eat(plate, Plate.portion); | |
| masha.eat(plate, Plate.portion); | |
| gala.eat(plate, Plate.portion); | |
| petr.eat(plate, Plate.portion); | |
| barsic.eat(plate, Plate.portion); | |
| boris.eat(plate, Plate.portion); // кошка кушает из тарелки, которую передали ей в параметрах | |
| plate.feed(cat2, Plate.portion); // тарелка "кормит" кошку, которую ей передали в параметры | |
| misha.eat(plate, Plate.portion); | |
| System.out.println("Проверяем номера кошек"); | |
| System.out.println("Абстрактная кошка номер " + cat1.id + " Ее имя " + cat1.name); | |
| System.out.println("Абстрактная кошка номер " + cat2.id + " Ее имя " + cat2.name); | |
| System.out.println("Абстрактная кошка номер " + cat3.id + " Ее имя " + cat3.name); | |
| System.out.println("Маша номер " + masha.id); | |
| System.out.println("Миша номер " + misha.id); | |
| System.out.println("Галя номер " + gala.id); | |
| System.out.println("Kate номер " + kate.id); | |
| System.out.println("Petr номер " + petr.id); | |
| System.out.println("Boris номер " + boris.id); | |
| System.out.println("Barsic имеет номер " + barsic.id); | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("Абстрактная кошка номер " + cat1.id + " всего употребила еды " + cat1.consumed); | |
| System.out.println("Абстрактная кошка номер " + cat2.id + " всего употребила еды " + cat2.consumed); | |
| System.out.println("Абстрактная кошка номер " + cat3.id + " всего употребила еды " + cat3.consumed); | |
| System.out.println("Кошка " + masha.name + " номер " + masha.id + " всего употребила еды " + masha.consumed); | |
| System.out.println("Кошка " + misha.name + " номер " + misha.id + " всего употребила еды " + misha.consumed); | |
| System.out.println("Кошка " + gala.name + " номер " + gala.id + " всего употребила еды " + gala.consumed); | |
| System.out.println("Кошка " + kate.name + " номер " + kate.id + " всего употребила еды " + kate.consumed); | |
| System.out.println("Кошка " + petr.name + " номер " + petr.id + " всего употребила еды " + petr.consumed); | |
| System.out.println("Кошка " + boris.name + " номер " + boris.id + " всего употребила еды " + boris.consumed); | |
| System.out.println("Barsic номер " + barsic.id + " всего употребил еды " + barsic.consumed); | |
| int sumCatsEda = barsic.consumed + cat3.consumed + cat2.consumed + cat1.consumed + boris.consumed + petr.consumed + kate.consumed + gala.consumed | |
| + misha.consumed + masha.consumed; | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("Общее кол-во еды потреблённой всеми кошками " + sumCatsEda); | |
| System.out.println("Общее количество сьеденной неизвестно кем еды (Гости?) " + plate.consumedNemo); | |
| int sumEda = sumCatsEda + plate.consumedNemo; | |
| System.out.println("А было еды " + sumEda); | |
| System.out.println("Общее количество осталось еды " + plate.eda); | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("Кошка " + misha.name + " номер " + misha.id + " всего употребила воды " + misha.consumedVoda); | |
| System.out.println("Кошка " + masha.name + " номер " + masha.id + " всего употребила воды " + masha.consumedVoda); | |
| System.out.println("Кошка " + kate.name + " номер " + kate.id + " всего употребила воды " + kate.consumedVoda); | |
| System.out.println("Кошка " + boris.name + " номер " + boris.id + " всего употребила воды " + boris.consumedVoda); | |
| System.out.println("Barsic номер " + barsic.id + " всего употребила воды " + barsic.consumedVoda); | |
| int sumCatsVoda = barsic.consumedVoda + boris.consumedVoda + kate.consumedVoda + masha.consumedVoda + misha.consumedVoda; | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("Общее кол-во потреблённой всеми нашими кошками воды " + sumCatsVoda); | |
| System.out.println("Общее количество выпитой неизвестно кем воды (Алкоголики?) " + bowl.consumedVodaNemo); | |
| int sumVoda = sumCatsVoda + bowl.consumedVodaNemo; | |
| System.out.println("А было воды " + sumVoda); | |
| System.out.println("Общее количество осталось воды " + bowl.voda); | |
| } | |
| } | |
| class Cat { | |
| public int consumedVoda; | |
| String name;//this.name | |
| Count count; | |
| int id; | |
| int consumed; | |
| public Cat(String name, int count) { | |
| this.name = name; | |
| id = Count.getNextCount(); | |
| } | |
| public Cat(int i) { | |
| i = Count.getNextCount(); | |
| } | |
| public Cat() { | |
| id = count.getNextCount(); | |
| } | |
| public String getName() { | |
| return name; | |
| } | |
| public void setName(String name) { | |
| this.name = name; | |
| } | |
| public Cat(String name, Count count) { | |
| this.name = name; | |
| id = count.getNextCount(); | |
| } | |
| public Cat(Count count) { | |
| id = count.getNextCount(); | |
| } | |
| public int eat(Plate plate, int portion) { | |
| Plate.eda = Plate.eda - portion; | |
| consumed = consumed + portion; | |
| System.out.println("--------------------------------------------------eat method begin"); | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println(name + " #" + id + " сьел сейчас " + portion + " а общее кол-во сьеденной им еды " + consumed); | |
| System.out.println(Plate.eda + " остаток еды в тарелке"); | |
| System.out.println("--------------------------------------------------eat method end"); | |
| } | |
| return Plate.eda; | |
| } | |
| public int drink(Bowl bowl, int portionVoda) { | |
| Bowl.voda = Bowl.voda - portionVoda; | |
| consumedVoda = consumedVoda + portionVoda; | |
| System.out.println("......................................................................drink method begin"); | |
| if (Bowl.voda < 0) { | |
| Bowl.voda = 0; | |
| System.out.println("Вода закончилась"); | |
| } else { | |
| System.out.println(name + " #" + id + " выпил сейчас" + portionVoda + " а общее кол-во выпитой им воды " + consumedVoda); | |
| System.out.println(Bowl.voda + " остаток воды в чашке"); | |
| System.out.println("....................................................................drink method end"); | |
| } | |
| return Bowl.voda; | |
| } | |
| public int eatFrom(Plate plate, int portion) { | |
| Plate.eda = Plate.eda - portion; | |
| consumed = consumed + portion; | |
| System.out.println("--------------------------------------------------eat method begin"); | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println(name + " #" + id + " сьел " + portion + " а общее кол-во сьеденной им еды " + consumed); | |
| System.out.println(Plate.eda + " остаток еды в тарелке"); | |
| System.out.println("--------------------------------------------------eat method end"); | |
| } | |
| return Plate.eda; | |
| } | |
| } | |
| class Bowl { | |
| static int voda; | |
| public static int consumedVoda; | |
| public static int portionVoda; | |
| public int consumedVodaNemo; | |
| public static void setVoda(int voda) { | |
| Bowl.voda = voda; | |
| System.out.println("Воды в чаше сначала " + voda); | |
| } | |
| public static int setPortionVoda(int amountVoda) { | |
| int portionVoda = amountVoda; | |
| return portionVoda; | |
| } | |
| public static int drink(Cat cat, int portionVoda) { | |
| consumedVoda = consumedVoda + portionVoda; | |
| Bowl.voda = Bowl.voda - portionVoda; | |
| if (Bowl.voda < 0) { | |
| Bowl.voda = 0; | |
| System.out.println("Вода закончилась"); | |
| } else { | |
| System.out.println("Воды осталось " + Bowl.voda); | |
| } | |
| return Bowl.voda; | |
| } | |
| public static int getPortionVoda() { | |
| Bowl.voda = Bowl.voda - Bowl.portionVoda; | |
| if (Bowl.voda < 0) { | |
| Bowl.voda = 0; | |
| System.out.println("Вода закончилась"); | |
| } else { | |
| System.out.println("Воды осталось " + Bowl.voda); | |
| } | |
| return portionVoda; | |
| } | |
| public int drink(int portionVoda) { | |
| consumedVodaNemo = consumedVodaNemo + portionVoda; | |
| Bowl.voda = Bowl.voda - portionVoda; | |
| if (Bowl.voda < 0) { | |
| Bowl.voda = 0; | |
| System.out.println("Вода закончилась"); | |
| } else { | |
| System.out.println("Неизвестно кто выпил " + portionVoda + " Воды осталось " + Bowl.voda); | |
| } | |
| return Bowl.voda; | |
| } | |
| } | |
| class Plate { | |
| static int eda; | |
| // public static int consumed; | |
| public static int portion; | |
| public int consumedNemo; | |
| public static int feed(Cat cat, int portion) { | |
| cat.consumed = cat.consumed + portion; | |
| Plate.eda = Plate.eda - portion; | |
| if (Plate.eda <= 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println("Еды осталось " + Plate.eda); | |
| } | |
| return Plate.eda; | |
| } | |
| public int feed(int portion) { | |
| consumedNemo = consumedNemo + portion; | |
| Plate.eda = Plate.eda - portion; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println("Кто-то поел " + portion + " и еды осталось " + Plate.eda); | |
| } | |
| return Plate.eda; | |
| } | |
| public int feed(Cat cat) { | |
| cat.consumed = cat.consumed + portion; | |
| Plate.eda = Plate.eda - portion; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println(cat.name + " сьел стандартную порцию 100 и Еды осталось " + Plate.eda); | |
| } | |
| return Plate.eda; | |
| } | |
| public static int setPortion(int amount) { | |
| int portion = amount; | |
| return portion; | |
| } | |
| public static int getPortion() { | |
| Plate.eda = Plate.eda - Plate.portion; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println("Еды осталось " + Plate.eda); | |
| } | |
| return portion; | |
| } | |
| public void setEda(int i) { | |
| Plate.eda = i; | |
| System.out.println("Еды в тарелке сначала " + i); | |
| } | |
| public int feed() { | |
| consumedNemo = consumedNemo + portion; | |
| Plate.eda = Plate.eda - portion; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println("Неизвестный сьел стандартную порцию 100 и еды осталось " + Plate.eda); | |
| } | |
| return Plate.eda; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment