Java → Классы: Холодильник и Еда

Задача: Написать класс Холодильник, в который можно класть Еду, проверять заполненность и т.п. 

Решение:
Создаем класс Food представляющий Еду

public class Food {
    public String name;
    public int size = 10;

    public Food(String name, int size){
        this.name = name;
        this.size = size;
    }
}

 

У Еды есть название и объем. 

Создаем класс Холодильник

import java.util.ArrayList;
import java.util.List;

public class Fridge {
    public int capacity = 100;
    public List<Food> foods = new ArrayList<>();

    public void put(Food food){
        foods.add(food);
    }

    public int getTotalSizeOfFoods(){
        int sum = 0;
        for(Food food: foods){
            sum += food.size;
        }
        return sum;
    }

    public boolean hasSpaceFor(Food food){
        int freeSpace = capacity - getTotalSizeOfFoods();
        if(freeSpace >= food.size){
            return true;
        }else{
            return false;
        }
    }
}

У него есть емкость и список Еды внутри него. 

Теперь создаем класс с точкой входа, в котором будем использовать наши классы:
 

public class ClassWork2 {
    public static void main(String[] args) {
        Fridge fridge = new Fridge();

        Food pizza = new Food("Pizza", 45);
        if(fridge.hasSpaceFor(pizza)){
            fridge.put(pizza);
        }

        Food food = new Food("Shaurma", 65);
        if(fridge.hasSpaceFor(food)){
            fridge.put(food);
            System.out.println(food.name+ " have been put into Fridge");
        }else{
            System.out.println("There is no free space for " + food.name);
        }
    }
}

 

604 10
Alisher Alikulov