объекты класса Коробка должны иметь размеры и цвет. Коробку можно открывать и закрывать. Коробку можно перекрашивать. Изменить размер коробки после создания нельзя. У коробки должен быть метод, печатающий информацию о ней в консоль. В коробку можно складывать предмет (если в ней нет предмета), или выкидывать его оттуда (только если предмет в ней есть), только при условии что коробка открыта (предметом читаем просто строку). Выполнение методов должно сопровождаться выводом сообщений в консоль Java.
java
public class Box {
private double width;
private double height;
private double depth;
private String color;
private boolean isOpen;
private String item;
public Box(double width, double height, double depth, String color) {
this.width = width;
this.height = height;
this.depth = depth;
this.color = color;
this.isOpen = false;
this.item = null;
}
public void openBox() {
this.isOpen = true;
System.out.println("Коробка открыта");
}
public void closeBox() {
this.isOpen = false;
System.out.println("Коробка закрыта");
}
public void repaintBox(String newColor) {
this.color = newColor;
System.out.println("Коробка перекрашена в " + newColor + " цвет");
}
public void putItem(String item) {
if (this.item == null) {
this.item = item;
System.out.println("Предмет "" + item + "" помещен в коробку");
} else {
System.out.println("В коробке уже есть предмет");
}
}
public void removeItem() {
if (this.item != null) {
this.item = null;
System.out.println("Предмет удален из коробки");
} else {
System.out.println("В коробке нет предмета");
}
}
public void printInfo() {
System.out.println("Коробка:");
System.out.println("Размеры: " + width + " x " + height + " x " + depth);
System.out.println("Цвет: " + color);
System.out.println("Состояние: " + (isOpen ? "открыта" : "закрыта"));
System.out.println("Предмет: " + (item != null ? item : "отсутствует"));
}
}
Пример использования класса Коробка:
java
public class Main {
public static void main(String[] args) {
Box box = new Box(10, 20, 30, "красный");
box.printInfo(); // Коробка: Размеры: 10.0 x 20.0 x 30.0, Цвет: красный, Состояние: закрыта, Предмет: отсутствует
box.openBox(); // Коробка открыта
box.putItem("книга"); // Предмет "книга" помещен в коробку
box.openBox(); // Коробка открыта
box.putItem("ручка"); // В коробке уже есть предмет
box.closeBox(); // Коробка закрыта
box.putItem("ручка"); // В коробке уже есть предмет
box.openBox(); // Коробка открыта
box.removeItem(); // Предмет удален из коробки
box.removeItem(); // В коробке нет предмета
box.repaintBox("синий"); // Коробка перекрашена в синий цвет
box.printInfo(); // Коробка: Размеры: 10.0 x 20.0 x 30.0, Цвет: синий, Состояние: открыта, Предмет: отсутствует
box.closeBox(); // Коробка закрыта
box.printInfo(); // Коробка: Размеры: 10.0 x 20.0 x 30.0, Цвет: синий, Состояние: закрыта, Предмет: отсутствует
}
}
В результате выполнения кода мы получим следующий вывод в консоль:
Коробка: Размеры: 10.0 x 20.0 x 30.0, Цвет: красный, Состояние: закрыта, Предмет: отсутствует
Коробка открыта
Предмет "книга" помещен в коробку
Коробка открыта
В коробке уже есть предмет
Коробка закрыта
В коробке уже есть предмет
Коробка открыта
Предмет удален из коробки
В коробке нет предмета
Коробка перекрашена в синий цвет
Коробка: Размеры: 10.0 x 20.0 x 30.0, Цвет: синий, Состояние: открыта, Предмет: отсутствует
Коробка закрыта
Коробка: Размеры: 10.0 x 20.0 x 30.0, Цвет: синий, Состояние: закрыта, Предмет: отсутствует
Таким образом, класс Коробка позволяет работать с объектами коробок, изменять их свойства, открывать и закрывать коробку, перемещать предметы внутри нее и выводить информацию о коробке в консоль.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет