Skip to content

Instantly share code, notes, and snippets.

@olegrewko
Created June 20, 2020 14:33
Show Gist options
  • Select an option

  • Save olegrewko/7b4ac802a1aae8f1a8a0b7f5d5ee008a to your computer and use it in GitHub Desktop.

Select an option

Save olegrewko/7b4ac802a1aae8f1a8a0b7f5d5ee008a to your computer and use it in GitHub Desktop.
Кошки_ООП_11 [GET SET]
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;
}
}
//--------------------------------------------------------------------------------------------
public class Main {
public static void main(String[] args) {
Count count = new Count();
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.portionEda = Plate.setPortionEda(100);
Bowl.portionVoda = Bowl.setPortionVoda(200);
System.out.println("Установленный размер стандартной порции еды " + Plate.portionEda);
System.out.println("Установленный размер стандартной порции воды " + Bowl.portionVoda);
Cat cat1 = new Cat(); // Кошка абстрактная первая
Cat cat2 = new Cat(); // Кошка абстрактная вторая
Cat cat3 = new Cat(); // Кошка абстрактная третья
System.out.println("Создали 3 абстрактные кошки " + cat1.setCount(1) + " " + cat2.setCount(2) + " " + cat3.setCount(3));
cat1.setName("Земфира");
System.out.println("Первую абстрактную кошку назвали " + cat1.name + " Ее номер " + cat1.count );
System.out.println("Первую абстрактную кошку назвали " + cat1.getName() + " Ее номер " + cat1.getCount() );
cat2.setName("Стелла");
System.out.println("Вторую абстрактную кошку назвали " + cat2.name + " Ее номер " + cat2.count );
System.out.println("Вторую абстрактную кошку назвали " + cat2.getName() + " Ее номер " + cat2.getCount() );
cat3.setName("Лора");
cat3.getName();
System.out.println("Вторую абстрактную кошку назвали " + cat3.name + " Ее номер " + cat3.count );
System.out.println("Вторую абстрактную кошку назвали " + cat3.getName() + " Ее номер " + cat3.getCount() );
Cat masha = new Cat();
masha.setName("Masha");
masha.setCount(4);
Cat misha = new Cat();
misha.setName("Misha");
misha.setCount(5);
Cat gala = new Cat();
gala.setName("Галя");
gala.setCount(6);
Cat kate = new Cat();
kate.setName("Kate");
kate.setCount(7);
Cat petr = new Cat();
petr.setName("Petr");
petr.setId(109);
petr.setCount(8);
Cat boris = new Cat();
boris.setName("Boris");
boris.setCount(9);
System.out.println("Маша номер " + masha.count );
System.out.println("Миша номер " + misha.count );
System.out.println("Галя номер " + gala.count);
System.out.println("Kate номер " + kate.count);
System.out.println("Petr номер " + petr.count + " id " + petr.id);
System.out.println("Boris номер " + boris.count);
Cat barsic = new Cat();
barsic.setName("Barsic");
barsic.setId(879);
barsic.setCount(10);
System.out.println("Нашли еще кота на улице и назвали Барсик его номер стал: " + barsic.count + " id " + barsic.id );
System.out.println("Чаша будет неизвестно кого поить 3 раза: 100, 400, 300 нестандартными порциями переданными в параметрах");
bowl.drink(100);
bowl.drink(400);
bowl.drink(300);
System.out.println(kate.name + " " + kate.count + " " + boris.name + " " + boris.count +
" " + barsic.name + " " + barsic.count + " " + misha.name + " " + misha.count + " "
+ masha.name + " " + masha.count +
" пришли пить по 5 стандартных порции воды (200 * 5 = 1000) ");
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.portionEda); // кошка кушает из тарелки, которую передали ей в параметрах
cat2.eatFrom(plate, Plate.portionEda); // кошка2 кушает из тарелки, которую передали ей в параметрах
plate.feed(200);
plate.feed(600);
plate.feed();
plate.feed(1000);
plate.feed(barsic);
barsic.eat(plate, Plate.portionEda);
misha.eat(plate, Plate.portionEda);
misha.eat(plate, Plate.portionEda);
masha.eat(plate, Plate.portionEda);
gala.eat(plate, Plate.portionEda);
petr.eat(plate, Plate.portionEda);
barsic.eat(plate, Plate.portionEda);
boris.eat(plate, Plate.portionEda); // кошка кушает из тарелки, которую передали ей в параметрах
plate.feed(cat2, Plate.portionEda); // тарелка "кормит" кошку, которую ей передали в параметры
misha.eat(plate, Plate.portionEda);
System.out.println("Проверяем номера и идентификаторы кошек");
System.out.println("Абстрактная кошка номер " + cat1.count + " Ее имя " + cat1.name );
System.out.println("Абстрактная кошка номер " + cat2.count + " Ее имя " + cat2.name );
System.out.println("Абстрактная кошка номер " + cat3.count + " Ее имя " + cat3.name );
System.out.println("Маша номер " + masha.count );
System.out.println("Миша номер " + misha.count );
System.out.println("Галя номер " + gala.count );
System.out.println("Kate номер " + kate.count );
System.out.println("Petr номер " + petr.count + " id " + petr.id );
System.out.println("Boris номер " + boris.count);
System.out.println("Barsic имеет номер " + barsic.count + " id " + barsic.id);
System.out.println("-------------------------------------------------------");
System.out.println("Абстрактная кошка номер " + cat1.count + " всего употребила еды " + cat1.consumedEda);
System.out.println("Абстрактная кошка номер " + cat2.count + " всего употребила еды " + cat2.consumedEda);
System.out.println("Абстрактная кошка номер " + cat3.count + " всего употребила еды " + cat3.consumedEda);
System.out.println("Кошка " + masha.name + " номер " + masha.count + " всего употребила еды " + masha.consumedEda);
System.out.println("Кошка " + misha.name + " номер " + misha.count + " всего употребила еды " + misha.consumedEda);
System.out.println("Кошка " + gala.name + " номер " + gala.count + " всего употребила еды " + gala.consumedEda);
System.out.println("Кошка " + kate.name + " номер " + kate.count + " всего употребила еды " + kate.consumedEda);
System.out.println("Кошка " + petr.name + " номер " + petr.count + " всего употребила еды " + petr.consumedEda);
System.out.println("Кошка " + boris.name + " номер " + boris.count + " всего употребила еды " + boris.consumedEda);
System.out.println("Barsic номер " + barsic.count + " всего употребил еды " + barsic.consumedEda);
int sumCatsEda = barsic.consumedEda + cat3.consumedEda + cat2.consumedEda + cat1.consumedEda + boris.consumedEda + petr.consumedEda + kate.consumedEda + gala.consumedEda
+ misha.consumedEda + masha.consumedEda;
System.out.println("-------------------------------------------------------");
System.out.println("Общее кол-во еды потреблённой всеми кошками " + sumCatsEda);
System.out.println("Общее количество сьеденной неизвестно кем еды (Гости?) " + plate.consumedEdaNemo);
int sumEda = sumCatsEda + plate.consumedEdaNemo;
System.out.println("Общее количество осталось еды " + plate.eda);
System.out.println("Еды учтенной съедено " + sumEda);
System.out.println("-------------------------------------------------------");
System.out.println("-------------------------------------------------------");
System.out.println("Кошка " + misha.name + " номер " + misha.count + " всего употребила воды " + misha.consumedVoda);
System.out.println("Кошка " + masha.name + " номер " + masha.count + " всего употребила воды " + masha.consumedVoda);
System.out.println("Кошка " + kate.name + " номер " + kate.count + " всего употребила воды " + kate.consumedVoda);
System.out.println("Кошка " + boris.name + " номер " + boris.count + " всего употребила воды " + boris.consumedVoda);
System.out.println("Barsic номер " + barsic.count + " всего употребила воды " + 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);
System.out.println("Общее количество осталось воды " + bowl.voda);
int sumVoda = sumCatsVoda + bowl.consumedVodaNemo;
int sumVodaSet = sumVoda + bowl.voda;
System.out.println("Количество выпитой учтенной воды " + sumVodaSet);
}
}
//--------------------------------------------------------------------------------------------------------
class Cat {
public int id;
public int nextId;
public String name;
int count;
public void setId()
{
id = nextId; // set id to next available id
nextId++;
}
public int getId() {
return id;
}
public int consumedVoda;
public int consumedEda;
private Cat(String name, int count) {
this.name = name;
count = Count.getNextCount();
}
public Cat() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Cat(String name, Count count) {
this.name = name;
Count.count = count.getNextCount();
}
public int eat(Plate plate, int portionEda) {
Plate.eda = Plate.eda - portionEda;
consumedEda = consumedEda + portionEda;
System.out.println("--------------------------------------------------eat method begin");
if (Plate.eda < 0) {
Plate.eda = 0;
System.out.println("Еда закончилась");
} else {
System.out.println(name + " #" + count + " сьел сейчас " + portionEda + " а общее кол-во сьеденной им еды " + consumedEda);
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 + " #" + count + " выпил сейчас " + 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;
consumedEda = consumedEda + portion;
System.out.println("--------------------------------------------------eat method begin");
if (Plate.eda < 0) {
Plate.eda = 0;
System.out.println("Еда закончилась");
} else {
System.out.println(name + " #" + count + " сьел " + portion + " а общее кол-во сьеденной им еды " + consumedEda);
System.out.println(Plate.eda + " остаток еды в тарелке");
System.out.println("--------------------------------------------------eat method end");
}
return Plate.eda;
}
int setCount(int count) {
this.count = count;
return count;
}
public int getCount() {
this.count = count;
return count;
}
public void setId(int i) {
id = i;
}
}
//-----------------------------------------------------------------------------------
class Bowl {
static int voda;
public static int consumedVoda;
public static int portionVoda;
public int consumedVodaNemo;
public static void setVoda(int i) {
int amountEda = i;
int amountEdaBegin = amountEda;
Bowl.voda = i;
System.out.println("Воды в чаше сначала " + amountEda);
}
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 setPortionVoda(int amountVoda) {
int portionVoda = amountVoda;
return portionVoda;
}
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 portionEda;
public int consumedEdaNemo;
public static int feed(Cat cat, int portionEda) {
cat.consumedEda = cat.consumedEda + portionEda;
Plate.eda = Plate.eda - portionEda;
if (Plate.eda < 0) {
Plate.eda = 0;
System.out.println("Еда закончилась");
} else {
System.out.println("Еды осталось " + Plate.eda);
}
return Plate.eda;
}
public int feed(int portion) {
consumedEdaNemo = consumedEdaNemo + 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.consumedEda = cat.consumedEda + portionEda;
Plate.eda = Plate.eda - portionEda;
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 setPortionEda(int amountEda) {
int portionEda = amountEda;
return portionEda;
}
public static int getPortionEda() {
Plate.eda = Plate.eda - Plate.portionEda;
if (Plate.eda < 0) {
Plate.eda = 0;
System.out.println("Еда закончилась");
} else {
System.out.println("Еды осталось " + Plate.eda);
}
return portionEda;
}
public void setEda(int i) {
Plate.eda = i;
System.out.println("Еды в тарелке сначала " + i);
}
public int feed() {
consumedEdaNemo = consumedEdaNemo + portionEda;
Plate.eda = Plate.eda - portionEda;
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