1. Задачи по типам данных • 1.1 - Реализовать класс Money с поддержкой валют и арифметических операции: add, subtract, multiply, divide • ИЛИ • 1.2 - Реализовать класс Quantity с поддержкой единиц измерения и арифметических операций: add, subtract, multiply, divide • К 1.1 и 1.2 - В классе Money или Quantity реализовать деление на N равных частей без остатка (остаток добавить к одной из частей). 2. Задача по коллекциям Реализовать класс корзины интернет магазина по следующему интерфейсу: public interface Basket { void void void void addProduct(String product, int quantity); removeProduct(String product); updateProductQuantity(String product, int quantity); clear(); List<String> getProducts(); int getProductQuantity(String product); } 3. Задача на многопоточность Есть Map<String, Integer> в который записывается кол-во посещений страниц сайта. Создать 50 потоков , имитирующих клиентские соединения от 5 страниц по 10 параллельных запросов, в которых увеличивать счетчик своей страницы. Оценить корректность работы и производительность. 4. Задача на многопоточность • Реализовать обход файловой системы (например, посчитать общий размер файлов): • Одним потоком • Создавая поток на папку • С помощью ThreadPoolExecutor 5. Web приложение Разработать JSP страницу или сервлет, который: 1. Отображает форму ввода с двумя текстовыми полями (X, Y) и кнопкой “Calculate” 2. При нажатии Calculate отображается таблица умножения 1..X на 1..Y 3. Если введены недопустимые значения X, Y (пустые, отрицательные, или больше 50) – должно выдаваться сообщение пользователю об ошибке. 6. Хранение данных в Webприложении • Релизуйте Сервлет или JSP страницу со следующим поведением: • Если пользователь вошел первый раз, ему предлагается вопрос, 3 варианта ответов и кнопка “Голосовать”. • Пользователь выбирает один вариант и нажимает “Голосовать”, после чего голос сохраняется в памяти на сервере и в сессии пользователя запоминается факт голосования. • Уже проголосовавший пользователь видит общие результаты голосования и не может проголосовать повторно в рамках той же HTTP-сессии.