Task examples for students Java - ncedu-tlt/2018-dimi1-expense-manager GitHub Wiki
Условия задачи...
Дан английский текстовый файл любого размера. Приложение должно посчитать сколько там:
- слов;
- знаков препинания;
- строчных и прописных букв;
- букв в самом длинном слове;
- числовых значений меньших 100;
- слов, где больше заглавных букв чем строчных;
- слов палиндромов.
Преобразовать и сохранить текст в новый файл:
- заменить все буквы "о" и "O" на 0(ноль);
- заменить числа от 1 до 9 на названия "one", "two" и т.д.;
- заменить все ВХоЖДения 2х, 3х и т.д. поДРяд соГЛаСНых на 2 эти же буКВы в веРХНем региСТРе;
- удалить все вхождения 2х, 3х и.т.д подряд гласных (длинношеее = ДЛиННош).
Практические навыки: Java IO/NIO, обработка строк в Java, Java RegExp.
Условия задачи...
В игре участвует несколько черных фигур (любого вида) и одна белая – король. Спроектировать и реализовать иерархию классов для игры в шахматы. Реализовать:
- конструктор с указанием координат на доске;
- проверку возможности хода с указанием координат;
- проверку попытки добавления лишней фигуры на доску (9я пешка, третий конь и т.д);
- анализ положения белого короля в условии хода белых фигур - шах, пат, мат или белому королю ничего не угрожает.
Практические навыки: Основы ООП, структуры данных, коллекции Java.
Условия задачи...
Случайным образом генерируется маршрут (Нью-Йорк-Париж), ландшафт которого представляет собой массив, переменно идущих подряд, целых чисел: 1 - асфальт; 2 - песок; 3 - снег; 4 - вода; 5 - лава; 6 - воздух; N - и т.п... Например: 00000005555552222222222122222220000000000000044444.... и т.д.
Создаются несколько вездеходных автомобилей, но в разной степени приспособленных для движения по разным ландшафтам. Например:
- Car[1]: для пересечения 1км по асфальту тратит N секунд, а для пересечения 1км по воде - M секунд...
- Car[2]: для пересечения 1км асфальта тратит X секунд, а для пересечения 1км по воде тратит Y секунд…
- Car[n]: и т.д. для 4х, 6х, или 8 автомобилей.
Элементы массива маршрута, время для прохождения разных ландшафтов разными машинами – каждый запуск программы должны быть случайными положительными числами. (Число машин/потоков тоже можно сделать случайным.)
Задача заключается в том, чтобы «устроить гонку» и определить победителей.
- Основная программа создаёт для каждого автомобиля отдельный поток.
- Каждый автомобиль в своём потоке перебирает элементы маршрута один за другим, останавливая поток ( Thread.sleep() ) на то количество секунд, которое требуется для пересечения 1км текущего типа дороги.
- Основная программа выводит на экран результаты первых трёх автомобилей/потока, которые добрались до финиша (т.е. поток завершил своё выполнение).
Практические навыки: Java Multithreading, Java Random.
Условия задачи...
- а. Console.
- б. Web.
- в. Swing.
Практические навыки: Коллекции, H2/SQLite, SQL, JDBC, UI.
Условия задачи...
Реализовать имитацию чата между двумя приложениями с использованием Java сокетов. Должно быть запущено 2 приложения и текст напечатанный в первом окне должен быть передан и отображаться во втором окне.Практические навыки: Java IO/NIO, многопоточность, console/GUI.
Условия задачи...
- Разработать Web-приложение состоящее из одной страницы.
- Страница содержит 3 элемента: текстовый блок, селектор из чисел от 1 до 50 и кнопку.
- В текстовом блоке отображается новостной заголовок и текст.
- Селектор представляет собой html элемент <select> который содержит 50 <option>.
- По нажатию кнопки "Next" страница перезагружается с GET/POST параметром number=[число выбранное в селекторе].
- После каждой перезагрузки число в селекторе должно меняться на случайное.
- Если параметр number не передан в запросе, новостной заголовок и текст пустые.
- Если параметр number передан в запросе, приложение загружает [number] по счёту новость с сайта http://olegmakarenko.ru/news/ и отображает на нашей странице.
- Заголовок новости берётся из элемента <h2 class="news_headline">.
- Текст новости берётся из <div> элемента, следующего за <h2 class="news_headline">.
- Для изменения числа в селекторе на случайное, можно использовать JavaScript или Java Random
- Для поднятия сервера на localhost можно использовать класс Simple Java Web Server at localhost
- Для получения контента с сайта http://olegmakarenko.ru/news/ можно использовать класс Simple Java URL reader
Практические навыки: Java IO, HttpServer, URL; HTML <form>; JavaScript