diff --git a/Cat.java b/Cat.java new file mode 100644 index 0000000..978206c --- /dev/null +++ b/Cat.java @@ -0,0 +1,27 @@ +package ru.geekbrains.lesson7; + + public class Cat { + private String name; + private int appetite; + private boolean satiety; + + public Cat(String name, int appetite) { + this.name = name; + this.appetite = appetite; + this.satiety = false; + } + + public void eat(Plate p) { + if (!satiety) { + satiety = p.decreaseFood(appetite); + } + } + public void info() { + if (satiety) { + System.out.println("Кот " + name + " с аппетитом " + appetite + " поел и стал сыт"); + } + else { + System.out.println("Кот " + name + " с аппетитом " + appetite + " остался голоден, нет корма"); + } + } + } \ No newline at end of file diff --git a/MainClass.java b/MainClass.java new file mode 100644 index 0000000..a2f3c2f --- /dev/null +++ b/MainClass.java @@ -0,0 +1,35 @@ +package ru.geekbrains.lesson7; + +/** + 1. Расширить задачу про котов и тарелки с едой. + 2. Сделать так, чтобы в тарелке с едой не могло получиться отрицательного количества еды (например, в миске 10 еды, а кот пытается покушать 15-20). + 3. Каждому коту нужно добавить поле сытость (когда создаем котов, они голодны). Если коту удалось покушать (хватило еды), сытость = true. + 4. Считаем, что если коту мало еды в тарелке, то он её просто не трогает, то есть не может быть наполовину сыт (это сделано для упрощения логики программы). + 5. Создать массив котов и тарелку с едой, попросить всех котов покушать из этой тарелки и потом вывести информацию о сытости котов в консоль. + 6. Добавить в тарелку метод, с помощью которого можно было бы добавлять еду в тарелку. +**/ + +public class MainClass { + public static void main(String[] args) { + Plate plate = new Plate(15); + Cat[] cats = new Cat[]{ + new Cat("Barsik", 5), + new Cat("Kuzya", 7), + new Cat("Snejok", 8) + }; + plate.before(); + feedCats(cats, plate); + plate.addFood(10); + feedCats(cats, plate); + plate.after(); + } + + public static void feedCats(Cat[] cats, Plate plate) { + for (Cat cat : cats) { + cat.eat(plate); + cat.info(); + } + System.out.println(); + } + +} \ No newline at end of file diff --git a/Plate.java b/Plate.java new file mode 100644 index 0000000..5e66ae6 --- /dev/null +++ b/Plate.java @@ -0,0 +1,29 @@ +package ru.geekbrains.lesson7; + +public class Plate { + private int food; + + public Plate(int food) { + this.food = food; + } + public void before() { + System.out.println("В миске " + food + " корма было\n"); + } + public boolean decreaseFood(int input) { + boolean output = false; + if (food - input >= 0) { + food -= input; + output = true; + } + return output; + } + + public void addFood(int input) { + this.food += input; + System.out.println("В миску еще добавили " + input + " корма\n" ); + } + public void after() { + System.out.println("В миске осталось " + food + " корма"); + } + +} \ No newline at end of file