Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions Cat.java
Original file line number Diff line number Diff line change
@@ -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 + " остался голоден, нет корма");
}
}
}
35 changes: 35 additions & 0 deletions MainClass.java
Original file line number Diff line number Diff line change
@@ -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();
}

}
29 changes: 29 additions & 0 deletions Plate.java
Original file line number Diff line number Diff line change
@@ -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 + " корма");
}

}