/JavaLabs

Лабораторные по Java 2 курс

Primary LanguageJava

JavaLabs

Лабораторные по Java 2 курс

Лабораторная_1:

Написать приложение, выводящее в консоль все простые числа из введённого пользователем промежутка.

Лабораторная_2 by Avalon:

Выполнить все TODO и FIXME комментарии из приложенного проекта.

Лабораторная_3 by Эйзенах:

Политех, 2100 год. Преподавателей заменили роботами. В полуразрушенном гидрокорпусе три робота принимают три вида лабораторных работ: вышмат, ООП и физику (одни робот, один предмет). Так как перекрытия гидрокорпуса сильно изношены, студенты выстраиваются в очередь в кабинете вместимостью 10 человек и далее проходят по кабинетам, остальные студенты нервно курят на улице и ждут своей очереди. Как только в кабинете освобождается место, заходит следующий студент. Мы знаем, что студенты выполнили либо 10, либо 20, либо 100 заданий по одному из предметов. Робот за одну единицу времени принимает 5 работ.

Задание:

  1. Сделать данный процесс параллельным используя java.util.concurrent

  2. Синхронизировать потоки и сохранить целостность данных. (Именно синхронизировать, а не ограничить)

  3. Разработать генератор студентов имеющий для параметра static int labsCount и static String subjectName. Работа генератора не должна зависеть от работы роботов.

  4. Общий ресурс должен быть Thread Safe

  5. Потоки не должны быть активными если нет задач.

  6. Потоки не должны держать mutex если нет задач.

Лабораторная_4

Работа с БД.

Сформировать таблицу товаров (id, prodid, title, cost) запросом из Java-приложения.

При запуске приложения очищать таблицу и заполнять N товаров вида:

id_товара 1 товар1 10

Написать консольное приложение, которое позволяет:

  1. Добавить товар в таблицу, в табице не может быть 2 товара с одинаковым именем

Пример:

/add товар666 1050

  1. Удалить товар из таблицы по имени.

Пример:

/delete товар1984

  1. Вывести все товары в консоль.

Пример:

/show_аll

  1. Узнать цену товара по его имени, либо если такого товара нет, то должно быть выведено сообщение "Такого товара нет".

Пример:

/price товар777

  1. Изменить цену товара.

Пример:

/change_price товар10 10000

  1. Вывести товары в заданном ценовом диапазоне цен.

Пример:

/filter_by_price 1000 10000

Реализовать данное приложения пользуясь только средствами JDBC.

Лабораторная_5

Реализовать графический интерфейс к лабораторной 4.