Skip to content

LeonidVolohov/JavaProjects4rdTerm

Repository files navigation

JavaProjects4rdTerm

Обратите внимание:

            - В среде IDE ( например, Eclipse)  есть возможность ввести параметры из командной строки.
            - Обработка ошибок должна быть сделана для всех заданий, если есть ввод параметров. 
            - Введенные параметры и результаты работы должны выводиться на дисплей (вместе с соответствующими пояснениями, если это необходимо для понимания решенной задачи ).
            - Поток выполнения  имеет имя по умолчанию, которое нужно получить во время выполнения с помощью метода Thread.currentThread.getName().
            - 3 и 4 задания для потоков выполнения предполагают выполнение потоков четко по очереди.
  1. Создать приложение, вычисляющее возраст , c 3 параметрами : день, месяц , год( дата рождения), где месяц задается в виде строки: май или январь и т. п. Результатом работы приложения должен быть возраст , выраженный в количестве лет, месяцев и дней на текущую дату.

  2. Создать приложение с 6 классами и 3 интерфейсами. Интерфейсы : Игрушка с методом играть, Дом с методом жить, Еда с методом есть. Классы - Мячик, Кукла; Котлета, Бутерброд; Юрта, Коттедж; Каждый класс реализует соответствующий интерфейс. Все интерфейсы унаследованы от интерфейса Предмет с методом цена. В приложении создать массив объектов Предмет , состоящий из объектов всех классов (количество элементов задано параметром). Вывести все Предметы на дисплей. Перебирая в цикле элементы массива Предмет, находить c помощью оператора instanceof те объекты, которые реализуют интерфейс Еда. Для каждого найденного элемента массива Предмет, реализующего интерфейс Еда, выполнить метод интерфейса Еда и метод интерфейса Предмет. Вывести результаты поиска.

  3. Напишите приложение с 2 потоками- производителем и потребителем, которые имеют разделяемую статическую переменную- склад. То есть склад не является массивом! Склад хранит целые числа от 0 до 100. Производитель генерирует число от 0 до 100 и отправляет его на склад, выводя имя производителя и сгенеренное число. Потребитель читает значение числа со склада, как только оно там появилось, и выводит на консоль имя потребителя и полученное число. Выполнить задание с использованием конструкции synchronized . Не использовать в этом задании флаги для синхронизации потоков, а только методы wait и notify. Также не использовать любые задержки для потоков после начала их работы в виде методов sleep, yield или wait c параметром.

  4. Выполнить многопотоковое приложение с 2 параметрами для нижеследующей задачи. Работники(количество работников задано параметром) собирают яблоки в ящики(количество ящиков задано параметром). Дополнительный работник- мастер координирует работу, каждый работник сообщает ему о том, что собрал очередной ящик. Когда каждый работник соберет ящик , то он ждет пока остальные работники тоже соберут по одному ящику, по сигналу мастера он продолжает работу. Работа заканчивается, когда все ящики будут собраны. Использовать ограничения из задания 3. Выводить идентификатор работника вместе с номером ящика для каждого потока.

  5. Создать приложение с пользовательским интерфейсом для заданий 1-4. Для этого приложения должна быть реализована возможность выбора из списка любого приложения и его выполнение. Модифицировать задания 1-4 так, чтобы весь вывод происходил в текстовых областях . Т. е это должно быть не приложение командной строки , а полностью графическое приложение. Не используйте в приложении всплывающие окна.

  6. Создать приложение для мобильного телефона, которое выводит круги в квадратах разных цветов и размеров на каждое нажатие кнопки.

  7. Создать бизнес-приложение или приложение-игру для мобильного телефона . Подготовить отчет этого курсового проекта в электронном виде. В отчете необходимо наличие титульного листа, диаграмм классов, описания предназначения классов и методов, скриншотов и кода приложения в конце.

Releases

No releases published

Packages

No packages published

Languages