Skip to content

Instantly share code, notes, and snippets.

@olegrewko
Created June 19, 2020 21:01
Show Gist options
  • Select an option

  • Save olegrewko/871f245cbf8a18afa39c27ffa39341b8 to your computer and use it in GitHub Desktop.

Select an option

Save olegrewko/871f245cbf8a18afa39c27ffa39341b8 to your computer and use it in GitHub Desktop.
Кошки ООП 9
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