LevBaranov / java_edi

For education

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Первое задание. Сгенерировать случайное число в любых пределах, проверить, принадлежит ли оно к заданной области. Если да, вывести true, если нет – false. Области представлены на следующем слайде. Указание! Пример кода для генерации случайного числа (-10;10): double min = -10; double max = 10; double x = rand.nextDouble() * Math.abs(max-min) + min; *rand – экземпляр класса random 65-67

Второе задание.(109) Школьному учителю химии, Уолтеру Уайту, нужно правильно взвесить псевдоэфедрин, чтобы не испортить конечный продукт. Требуется помочь мистеру Уайту найти среднее значение веса таблетки псевдоэфедрина по данной выборке. Если оно меньше эталонного более чем на 10%, то следует уведомить мистера Уайта сообщением о том, что варить конечный продукт нет смысла, так как необходимого ингредиента не хватит. Выборка веса таблеток: {0.052, 0.048, 0.052, 0.043, 0.050, 0.048, 0.049, 0.054, 0.048, 0.045}. Эталонный вес: 0.050. Указания: следует записать эти значения в массив.

Третье задние (110) Перед владельцами общественного туалета встала задача – написать приложение, которое поможет невнимательным клиентам определить, где находится мужской и женский туалеты. Если пользователь введет букву Ж, то система должна вывести сообщение: “Туалет находится слева”. Если пользователь введет букву М, то система выведет сообщение: “Туалет находится справа”. Задачу следует решить при помощи условной тернарной операции.

Четвертое задание 126 Имеется метод, который должен обменивать два массива одинакового размера элементами. Протестировать его работу, внести поправки, если они необходимы. static void swapValues(int[] a, int[] b) { int[] c = b; b = a; a = c; }

Пятое задние 127 Написать метод, считающий факториал числа при помощи рекуррентной формы. Заметка! Java поддерживает рекурсию, т.е. метод можно вызвать из самого себя. Модифицировать метод так, чтобы умножались только четные числа.

Часть 2. Срединоземье Задани 6. 138 Создать класс: житель Средиземья (MiddleEarthCitizen). Определить в нем поля: имя, рост (сантиметры). Добавить 2 конструктора: один – без параметров, второй – с параметрами (имя, рост). Добавить метод: double heightToMeters(), который переводит рост жителя в метры. Создать два объекта типа MiddleEarthCitizen (используя конструктор без параметров и с параметрами), вызвать методы обоих классов, проанализировать их работу.

Задание 7.150

  1. Сделать все поля и методы класса MiddleEarthCitizen приватными, попытаться вызвать их из метода main. Что произойдет?
  2. Сделать все переменные приватными, а методы – публичными, добавить аксессоры.

Задание 8. 151 Добавить в класс MiddleEarthCitizen статическое неизменяемое поле: String origin, задать полю значение “Средиземье”. Это поле будет определять страну происхождения жителя. Добавить к этому полю статический метод getCountryOrigin(), который будет его возвращать. Попробовать изменить нестатические поля класса из этого метода, что произойдет?

задание 9. 179 Разместить класс MiddleEarthCitizen в пакете middleearth. Подключить этот пакет к java файлу, в котором содержится метод main. Отдельно организовать статический импорт метода getOriginCountry.

Задание 10. 180 Создать подкласс Human класса MiddleEarthCitizen. Добавить поле homeTown (город проживания), поле age (возраст). Добавить конструктор с параметрами (город проживания, возраст, рост, имя). Сделать к методам аксессоры. Создать подкласс Rohhirim класса Human. Создать конструктор, который принимает параметры (имя, возраст). Все остальные параметры должны указываться с помощью конструктора суперкласса со значениями: homeTown = “Рохан”, рост = 170. Добавить класс Troll, унаследовать его от класса MiddleEarthCitizen. Добавить поля и методы по своему усмотрению. У всех классов (кроме Troll и Rohhirim) определить метод toString(), который будет возвращать о них всю информацию (содержимое полей). При определении метода toString использовать аннотацию @Override. Заметка: все поля – приватные, все методы – публичные.

Задание 11 181 Троллям и людям пришлось объединиться в одну большую армию (100 существ) для того, чтобы противостоять врагам. Требуется создать массив, который содержит и троллей, и людей (или роххиримов (Rohhirim)). Массив можно заполнить как случайно (с помощью условного оператора/операции и класса Random), а можно последовательно (сначала тролли, а потом – люди). Вызывать метод toString() для каждого существа. Все действия нужно производить в методе main.

Конец часть 2. Задание 12 196 Имеются два класса, Cat (кот) и Dog (собака), они содержат в себе два метода: voice(), name(). При создании объекта одного из этих классов надо указать имя животного. При вызове метода name() на консоль выводится имя, а при вызове метода voice() на консоль выводится звук, который издает животное. Требуется создать интерфейс на основе этих классов (например, Pet), чтобы через него можно было обращаться к объектам классов Cat и Dog и вызывать методы voice() и name().

Задание 13 197 Взять классы Cat и Dog из предыдущего задания, создать абстрактный класс Pet на их основе. Сделать метод voice() абстрактным, а метод name() – обычным. В методе main() реализовать доступ к объектам типа Cat и Dog через абстрактный класс Pet. Сравнить с аналогичной задачей из интерфейсов. Что удобнее использовать в данном случае – интерфейсы или абстрактные классы?

Задание 14 222 Физики из Гондураса решили построить свой большой адронный коллайдер. В качестве интерфейса взаимодействия с ним они предпочли использовать Java. Требуется помочь физикам создать класс LargeHadronCollider, имеющий метод collide и поле budget, определяющее бюджет на исследования. В методе collide организовать проверку на достаточность бюджетных средств на исследования, если бюджет меньше 1 млрд. лемпир, то метод должен бросать исключение NoBudgetException. Смоделировать ситуацию, когда бюджет на ресурсы достаточен, а когда – нет.

Задание 15 223 Поскольку не бывает роххиримов без лошадей, следует определить класс Horse (лошадь) внутри класса Rohhirim. Класс должен быть внутренним. Добавить поля: цвет, порода. Создать конструктор, который определяет эти поля. Добавить метод, возвращающий ссылку на объект владельца лошади.

Задание 16 224 Повторить задание (про троллей и людей) из раздела “Полиморфизм”, но используя ArrayList вместо массива.

About

For education


Languages

Language:Java 100.0%