1. Задачи по типам данных

advertisement
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-сессии.
Download