Сообщество - Задачки для изучающих Java
Добавить пост

Задачки для изучающих Java

43 поста 1 761 подписчик

Популярные теги в сообществе:

Выполняем задание на Abstract Factory Pattern часть 2

Представляю Вам вторую часть задания по абстрактной фабрике - Битва танков.

В программе появился учет скоростей разворота и перезарядки танков, небольшие отчеты по совершенным действиям танков, танков теперь 5л+3с+1т. Бои проходя также один на один, но пока разворачивается, к примеру, тяжелый танк легкий успевает его прилично повредить. У танков появились очки хода, которые они тратят на действия. И немного подробнее будет изложено ниже.

Выполняем задание на Abstract Factory Pattern часть 2 Java, Программирование, Паттерны, Задача, Длиннопост

Изменена структура проекта:

Выполняем задание на Abstract Factory Pattern часть 2 Java, Программирование, Паттерны, Задача, Длиннопост

По замечаниям в прошлых постах исправлены фабрики - теперь для выбора типа танка используется enum:

Выполняем задание на Abstract Factory Pattern часть 2 Java, Программирование, Паттерны, Задача, Длиннопост
Выполняем задание на Abstract Factory Pattern часть 2 Java, Программирование, Паттерны, Задача, Длиннопост

Мммм...можно почитать тут:

http://developer.alexanderklimov.ru/android/java/enum.php

Сильно переработан класс Tank - armor перенесен в абстрактный класс, добавлены переменные curDislocation, actionPoints, создан метод public void doAction(Tank tank), исправлен конструктор с учетом новых переменных:

Выполняем задание на Abstract Factory Pattern часть 2 Java, Программирование, Паттерны, Задача, Длиннопост

Изменения коснулись, соответственно, и классов-наследников Tank.

И переработана сама программа TankBattle - танков теперь больше, бой идет, пока одна из сторон не уничтожена, появилась система раздачи очков действий и пауза - 1 секунда перед каждой раздачей, из-за чего появился выброс исключения, часть операций перенесена внутрь классов:

Выполняем задание на Abstract Factory Pattern часть 2 Java, Программирование, Паттерны, Задача, Длиннопост

И пример боя:

Начался бой между USSR_MEDIUM и GERMAN_MEDIUM

USSR_MEDIUM расположение - 1


GERMAN_MEDIUM расположение - 0


GERMAN_MEDIUM нанес 50 урона. У противника осталось 150 очков жизни.


GERMAN_MEDIUM нанес 50 урона. У противника осталось 100 очков жизни.


USSR_MEDIUM развернулся.


USSR_MEDIUM нанес 50 урона. У противника осталось 150 очков жизни.


GERMAN_MEDIUM нанес 50 урона. У противника осталось 50 очков жизни.


USSR_MEDIUM нанес 50 урона. У противника осталось 100 очков жизни.


GERMAN_MEDIUM нанес 50 урона. У противника осталось 0 очков жизни.


USSR_MEDIUM уничтожен.


Начался бой между USSR_MEDIUM и GERMAN_MEDIUM


USSR_MEDIUM расположение - 1


GERMAN_MEDIUM расположение - 1


USSR_MEDIUM развернулся.


GERMAN_MEDIUM развернулся.


USSR_MEDIUM нанес 50 урона. У противника осталось 50 очков жизни.


GERMAN_MEDIUM нанес 50 урона. У противника осталось 150 очков жизни.


USSR_MEDIUM нанес 50 урона. У противника осталось 0 очков жизни.


GERMAN_MEDIUM уничтожен.


Начался бой между USSR_LIGHT и GERMAN_LIGHT


USSR_LIGHT расположение - 1


GERMAN_LIGHT расположение - 1


USSR_LIGHT развернулся.


GERMAN_LIGHT развернулся.


USSR_LIGHT нанес 27 урона. У противника осталось 73 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 73 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось 46 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 46 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось 19 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 19 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось -8 очков жизни.


GERMAN_LIGHT уничтожен.


Начался бой между USSR_LIGHT и GERMAN_MEDIUM


USSR_LIGHT расположение - 1


GERMAN_MEDIUM расположение - 1


USSR_LIGHT развернулся.


USSR_LIGHT нанес 20 урона. У противника осталось 180 очков жизни.


USSR_LIGHT нанес 20 урона. У противника осталось 160 очков жизни.


GERMAN_MEDIUM развернулся.


USSR_LIGHT нанес 20 урона. У противника осталось 140 очков жизни.


GERMAN_MEDIUM нанес 57 урона. У противника осталось 43 очков жизни.


USSR_LIGHT нанес 20 урона. У противника осталось 120 очков жизни.


USSR_LIGHT нанес 20 урона. У противника осталось 100 очков жизни.


GERMAN_MEDIUM нанес 57 урона. У противника осталось -14 очков жизни.


USSR_LIGHT уничтожен.


Начался бой между USSR_LIGHT и GERMAN_LIGHT


USSR_LIGHT расположение - 1


GERMAN_LIGHT расположение - 1


USSR_LIGHT развернулся.


GERMAN_LIGHT развернулся.


USSR_LIGHT нанес 27 урона. У противника осталось 73 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 73 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось 46 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 46 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось 19 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 19 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось -8 очков жизни.


GERMAN_LIGHT уничтожен.


Начался бой между USSR_LIGHT и GERMAN_LIGHT


USSR_LIGHT расположение - 0


GERMAN_LIGHT расположение - 0


USSR_LIGHT нанес 27 урона. У противника осталось 73 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 73 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось 46 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 46 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось 19 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось 19 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось -8 очков жизни.


GERMAN_LIGHT уничтожен.


Начался бой между USSR_LIGHT и GERMAN_LIGHT


USSR_LIGHT расположение - 1


GERMAN_LIGHT расположение - 0


USSR_LIGHT развернулся.


GERMAN_LIGHT нанес 27 урона. У противника осталось -8 очков жизни.


USSR_LIGHT уничтожен.


Начался бой между USSR_LIGHT и GERMAN_LIGHT


USSR_LIGHT расположение - 0


GERMAN_LIGHT расположение - 1


USSR_LIGHT нанес 27 урона. У противника осталось 73 очков жизни.


GERMAN_LIGHT развернулся.


USSR_LIGHT нанес 27 урона. У противника осталось 46 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось -8 очков жизни.


USSR_LIGHT уничтожен.


Начался бой между USSR_LIGHT и GERMAN_MEDIUM


USSR_LIGHT расположение - 0


GERMAN_MEDIUM расположение - 1


USSR_LIGHT нанес 20 урона. У противника осталось 180 очков жизни.


USSR_LIGHT нанес 20 урона. У противника осталось 160 очков жизни.


USSR_LIGHT нанес 20 урона. У противника осталось 140 очков жизни.


USSR_LIGHT нанес 20 урона. У противника осталось 120 очков жизни.


GERMAN_MEDIUM развернулся.


USSR_LIGHT нанес 20 урона. У противника осталось 100 очков жизни.


GERMAN_MEDIUM нанес 57 урона. У противника осталось 43 очков жизни.


USSR_LIGHT нанес 20 урона. У противника осталось 80 очков жизни.


USSR_LIGHT нанес 20 урона. У противника осталось 60 очков жизни.


GERMAN_MEDIUM нанес 57 урона. У противника осталось -14 очков жизни.


USSR_LIGHT уничтожен.


Начался бой между USSR_MEDIUM и GERMAN_LIGHT


USSR_MEDIUM расположение - 1


GERMAN_LIGHT расположение - 0


GERMAN_LIGHT нанес 20 урона. У противника осталось 130 очков жизни.


GERMAN_LIGHT нанес 20 урона. У противника осталось 110 очков жизни.


GERMAN_LIGHT нанес 20 урона. У противника осталось 90 очков жизни.


USSR_MEDIUM развернулся.


GERMAN_LIGHT нанес 20 урона. У противника осталось 70 очков жизни.


USSR_MEDIUM нанес 57 урона. У противника осталось -11 очков жизни.


GERMAN_LIGHT уничтожен.


Начался бой между USSR_LIGHT и GERMAN_LIGHT


USSR_LIGHT расположение - 0


GERMAN_LIGHT расположение - 1


USSR_LIGHT нанес 27 урона. У противника осталось 73 очков жизни.


USSR_LIGHT нанес 27 урона. У противника осталось 46 очков жизни.


GERMAN_LIGHT развернулся.


USSR_LIGHT нанес 27 урона. У противника осталось 19 очков жизни.


GERMAN_LIGHT нанес 27 урона. У противника осталось -8 очков жизни.


USSR_LIGHT уничтожен.


Начался бой между USSR_MEDIUM и GERMAN_LIGHT


USSR_MEDIUM расположение - 1


GERMAN_LIGHT расположение - 1


GERMAN_LIGHT развернулся.


GERMAN_LIGHT нанес 20 урона. У противника осталось 50 очков жизни.


USSR_MEDIUM развернулся.


GERMAN_LIGHT нанес 20 урона. У противника осталось 30 очков жизни.


USSR_MEDIUM нанес 57 урона. У противника осталось -38 очков жизни.


GERMAN_LIGHT уничтожен.


Начался бой между USSR_MEDIUM и GERMAN_MEDIUM


USSR_MEDIUM расположение - 1


GERMAN_MEDIUM расположение - 1


USSR_MEDIUM развернулся.


USSR_MEDIUM нанес 50 урона. У противника осталось 10 очков жизни.


GERMAN_MEDIUM развернулся.


GERMAN_MEDIUM нанес 50 урона. У противника осталось -20 очков жизни.


USSR_MEDIUM уничтожен.


Начался бой между USSR_MEDIUM и GERMAN_MEDIUM


USSR_MEDIUM расположение - 1


GERMAN_MEDIUM расположение - 0


GERMAN_MEDIUM нанес 50 урона. У противника осталось 150 очков жизни.


GERMAN_MEDIUM нанес 50 урона. У противника осталось 100 очков жизни.


USSR_MEDIUM развернулся.


USSR_MEDIUM нанес 50 урона. У противника осталось 50 очков жизни.


GERMAN_MEDIUM нанес 50 урона. У противника осталось 50 очков жизни.


USSR_MEDIUM нанес 50 урона. У противника осталось 0 очков жизни.


GERMAN_MEDIUM уничтожен.


Начался бой между USSR_MEDIUM и GERMAN_MEDIUM


USSR_MEDIUM расположение - 0


GERMAN_MEDIUM расположение - 0


USSR_MEDIUM нанес 50 урона. У противника осталось -40 очков жизни.


GERMAN_MEDIUM уничтожен.


Начался бой между USSR_MEDIUM и GERMAN_HEAVY


USSR_MEDIUM расположение - 0


GERMAN_HEAVY расположение - 0


USSR_MEDIUM нанес 40 урона. У противника осталось 460 очков жизни.


GERMAN_HEAVY нанес 90 урона. У противника осталось -40 очков жизни.


USSR_MEDIUM уничтожен.


Начался бой между USSR_HEAVY и GERMAN_HEAVY


USSR_HEAVY расположение - 1


GERMAN_HEAVY расположение - 1


GERMAN_HEAVY развернулся.


USSR_HEAVY развернулся.


GERMAN_HEAVY нанес 80 урона. У противника осталось 420 очков жизни.


USSR_HEAVY нанес 80 урона. У противника осталось 380 очков жизни.


GERMAN_HEAVY нанес 80 урона. У противника осталось 340 очков жизни.


USSR_HEAVY нанес 80 урона. У противника осталось 300 очков жизни.


GERMAN_HEAVY нанес 80 урона. У противника осталось 260 очков жизни.


USSR_HEAVY нанес 80 урона. У противника осталось 220 очков жизни.


GERMAN_HEAVY нанес 80 урона. У противника осталось 180 очков жизни.


USSR_HEAVY нанес 80 урона. У противника осталось 140 очков жизни.


GERMAN_HEAVY нанес 80 урона. У противника осталось 100 очков жизни.


USSR_HEAVY нанес 80 урона. У противника осталось 60 очков жизни.


GERMAN_HEAVY нанес 80 урона. У противника осталось 20 очков жизни.


USSR_HEAVY нанес 80 урона. У противника осталось -20 очков жизни.


GERMAN_HEAVY уничтожен.


App.Tanks.Ussr.UssrHeavyTank@677327b6


Все танки Германии уничтожены!

Выполняем задание на Abstract Factory Pattern часть 2 Java, Программирование, Паттерны, Задача, Длиннопост

Исходники программы: https://github.com/Norfin85/TankBattle

Показать полностью 7

Выполняем задание на Abstract Factory Pattern часть 1

В первой части мы создадим абстрактную фабрику танков, по одному экземпляру каждого танка и проведем бой между случайными танками СССР и Германии.

Выполняем задание на Abstract Factory Pattern часть 1 Java, Программирование, Паттерны, Задача, Длиннопост

Структура программы:

Выполняем задание на Abstract Factory Pattern часть 1 Java, Программирование, Паттерны, Задача, Длиннопост

Весь код программы находится по адресу: https://github.com/Norfin85/TankBattle


Опишу лишь пару, на мой, взгляд интересных моментов.

Момент 1:

Классы LightUssrTank, MediumUssrTank, HeavyUserTank имеют различный показатель armor. Все переменные в классах имеют модификатор private, а значит объявление переменной должно происходить в классе . Но UssrFactory возвращает  объекты класса Tank, а значит поле armor будет недоступно в этих объектах. Эту проблему можно решить следующим образом:

В абстрактом классе Tank объявляется абстрактная функция getArmor:

Выполняем задание на Abstract Factory Pattern часть 1 Java, Программирование, Паттерны, Задача, Длиннопост

А в конкретных класса объявляется переменная armor и реализация функции getArmor:

Выполняем задание на Abstract Factory Pattern часть 1 Java, Программирование, Паттерны, Задача, Длиннопост

Момент 2: в абстрактом классе задается конструктор, а в классе-наследнике UssrMediumTank он используется используя ключевое слово super(), при  этом класс UssrMediumTank имеет свой конструктор с большим количеством полей. Это позволяет нам объединять общие параметры для всех классов-наследников в один общий абстрактный класс.

И сама главная программа:

Выполняем задание на Abstract Factory Pattern часть 1 Java, Программирование, Паттерны, Задача, Длиннопост

Программа пока очень громоздкая и не учитывает скорость стрельбы при встрече лоб в лоб. Это все будет исправлено во второй части путем создания таймера боя и очков действия танков. Также внутрь объектов будет помещена их ориентация.

И еще некоторые модификации...)

Выполняем задание на Abstract Factory Pattern часть 1 Java, Программирование, Паттерны, Задача, Длиннопост
Показать полностью 6

Задание на Abstract Factory Pattern

Используя Abstract Factory Pattern создать 6 объектов: 3 немецких танка (легкий, средний, тяжелый) и 3 русских танка (легкий, средний, тяжелый). Танки обладают параметрами: количество хелсов, урон, время на выстрел, время на разворот на 90 градусов.

Организовать бой: у каждой стороны 1 тяжелый танк, 3 средних танка и 5 легких танков. Встречи происходят по-одному случайным образом, также случайным образом определяется тип встречи: атака лоб в лоб, боковая атака, атака сзади. Танк может атаковать, только если он повернулся к противнику. Можно организовать какие-то бонусы при атаке сзади/сбоку.

Задание на Abstract Factory Pattern Java, Задача, Программирование, Паттерны

Интересный вопрос.

Все знаю про три закона робототехники разработанные А. Азимовым



Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред.

Робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.

Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму Законам.


(Не обязательно же наличие "позитронных" мозгов, становится актуально с появлением автомобилей на автопилоте)


Но хоть один программист пытался их написать машинным или программным кодом??

Abstarct Factory Pattern

Тип: порождающий шаблон


Назначение: обеспечивает создание семейств взаимосвязанных или зависящих друг от друга

объектов без указания их конкретных классов.

Является развитием паттерна Factory Method.

Используется в следующих случаях:

- система не должна зависеть от способа создания объектов;

- система работает с одним из нескольких семейств объектов;

- объекты внутри семейства взаимосвязаны.


Программа обращается к классу-конструктору фабрик FactoryProducer, создавая два класса-фабрики CatFactory и DogFactory - наследники с реализацией абстрактного класса AbstractFactory. Классы фабрики создают 3 объекта класса Cat и 3 объекта класса Dog.

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

Создаем классы-интерфейсы Cat и Dog:

Cat.java, Dog.java

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост
Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

Создаем наследников класса Cat с реализацией его функций:

ThinCat.java, NormalCat.java, FatCat.java

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

Создаем наследников класса Dog с реализацией его функций:

ThinDog.java, NormalDog.java, FatDog.java

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

Создаем абстрактный класс AbstractFactory:

AbstractFactory.java

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

Создаем классы-фабрики CatFactory и DogFactory:

CatFactory.java, DogFactory.java

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

Создаем класс-конструктор фабрик FactoryProducer:

FactoryProducer.java

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

Основной класс AbstractFactoryPatternCvsD:

AbstractFactoryPatternCvsD.java

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост
Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

И что выводит программа:

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост

С вами был Salem, на 100 лет проклятый быть криворуким программистом...

Abstarct Factory Pattern Java, Паттерны, Программирование, Длиннопост
Показать полностью 12

Создаем мебель с помощью Factory Method

Задание 3:


Используя Factory method создать шаблон проектирования FurnitureFactory, и с его помощью создать объекты Table, Chair и Cabinet.

Создать общую функцию seeOnFurniture, выводящую на экран, какую мебель мы видим.

Создаем мебель с помощью Factory Method Java, Задача, Программирование, Кот

Изучаем паттерны: Cat Factory Method

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост

Цель паттерна:

Создается специфический класс - интерфейс базового абстрактного класса (создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не тела методов). Конкретная реализация класса-наследника определяется тем, какие параметры были переданы при создании.


Это позволяет использовать в коде программы не специфические классы, а манипулировать абстрактными объектами на более высоком уровне.


Используется в следующих случаях:


- класс не имеет информации о том, какой тип объекта он должен создать;

- класс передает ответственность по созданию объектов наследникам;

- необходимо создать объект в зависимости от входящих данных.


Реализация класса:

Создается класс-интерфейс Cat и реализацию его функций в потомках класса Cat. Далее создается класс-фабрика CatFactory.


Класс CatFactoryDemo использует класс-фабрику CatFactory для создания объектов класса Cat. Мы передаем параметр - коэффициент веса кота, для определения того, какой кот будет создан с помощью функции getCatMassFactor().

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост

Шаг первый:


Создаем класс-интерфейс Cat.java

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост

Шаг второй:

Создаем классы, имеющие интерфейс Cat и реализацией метода toJump()


ThinCat.java

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост
Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост

NormalCat.java

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост
Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост

FatCat.java

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост
Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост

Шаг третий:

Создаем класс-фабрику CatFactory для генерирования различных объектов класса Cat на основе переданной в класс-фабрику CatFactory информации.


CatFactory.java

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост

Шаг четвертый:

Создаем класс CatFactoryDemo, который использует класс-фабрику CatFactory для создания объектов класса Cat.


CatFactoryDemo.java

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост

Программа выведет результат:


ThinCat has jumped-up like a bird.

NormalCat has jumped-up.

FatCat can't jump.

Главный минус метода - необходимость создавать наследника Creator для каждого нового типа продукта.

На том и откланяюсь.) уж больно спать хочется)

Изучаем паттерны: Cat Factory Method Java, Программирование, Паттерны, Длиннопост
Показать полностью 12

В Питере шаверма и мосты, в Казани эчпочмаки и казан. А что в других городах?

Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.

Реклама АО «Кордиант», ИНН 7601001509

Разбор задания 2

Использован вариант решения #comment_68039914


Для определения высоты прыжка создаем функцию junpTo в классе Cat:


public double jumpTo() {
if ((length * height * 6.5 / weight) > 2 || (length * height * 6.5 / weight) < 0.5)
return (20 * length * height * 0,5);
return (20 * length * height);
}

Если кот слишком толстый или худой, уменьшаем его высоту прыжка...

Разбор задания 2 Java, Решение, Программирование, Длиннопост

Создаем базовый класс Furniture:


public abstract class Furniture {
private String color;
private String material;
private Double length;
private Double height;
public Furniture(String color, String material, Double length, Double height) {
this.setColor(color);
this.setMaterial(material);
this.setLength(length);
this.setHeight(height);
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getMaterial() {
return material;
}
public void setMaterial(String material) {
this.material = material;
}
public Double getLength() {
return length;
}
public void setLength(Double length) {
this.length = length;
}
public Double getHeight() {
return height;
}
public void setHeight(Double height) {
this.height = height;
}
}

Класс Furniture - абстрактный, на основе которого не могут создаваться объекты. При этом наследники класса могут быть не абстрактными, на их основе объекты создавать, соответственно, можно.

Создаем класс Table на базе класса Furniture:


public class Table extends Furniture {
private int legs;
public Table (int legs, String color, String material, Double length,
Double height) {
super(color, material, length, height);
this.legs = legs;
}
}

Ключевое слово super () являет собой ссылку на базовый класс, которую можно использовать в дочерних классах. В основном используется для вызова методов родительского класса. В нашем случае оно вызывает конструктор:

Furniture(String color, String material, Double length, Double height)
Разбор задания 2 Java, Решение, Программирование, Длиннопост

Модифицируем класс Cat: создаем экземпляр класса Table и проверяем запрыгнул ли кот на него:


Table table = new Table(4, "Brown", "Wood", 2.0, 1.2);
if (cat2.jumpTo < table.getHeight())
System.out.println("Бройлер 747 удачно приземлился");
else
System.out.println("Бройлер 747 потерпел крушение");
Разбор задания 2 Java, Решение, Программирование, Длиннопост
Показать полностью 3
Отличная работа, все прочитано!