ТГУ, программирование на Java (практические задания, часть 1)
| 30.03.2026, 19:58 | |||||||||||||||||||||||||||||||||||||||||||
Практическое задание 1 Тема 1. Введение в Java технологию Задание. Разработать первую программу на Java, применить работу с утилитами. Рекомендации по выполнению задания 1. Ознакомьтесь с группами утилит: java, javac, jar, appletviewer, представленных в описании источников: - JDK Tools and Utilities: http://docs.oracle.com/javase/7/docs/technotes/tools/. - Lesson: Packaging Programs in JAR Files: http://docs.oracle.com/javase/tutorial/deployment/jar/index.html. - Создание JAR-файла: http://khpi-iip.mipk.kharkiv.edu/library/extent/prog/jar/basics_build.html. 2. Используя текстовый редактор, наберите текст программы «Hello world». public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } 3. Сохраните файл под именем HelloWorld.java. Откомпилируйте файл и запустите его на выполнение. Запишите в отчет команды и приведите скриншот выполнения. 4. Упакуйте *.class и *.java файлы программы HelloWorld в jar-архив. Запустите программу из jar-архива. Запишите в отчет команды и приведите скриншот выполнения. 5. Используя текстовый редактор, наберите текст двух программ, выводящих соответственно «Hello from first», «Hello from second». Откомпилируйте программы. Упакуйте *.class и *.java файлы программы в jar-архив. 6. Запустите сначала первую, а затем вторую программу из jar-архива. Запишите в отчет команды и приведите скриншот выполнения. 7. Создайте jar-архив из двух-трех файлов. Упакуйте все файлы в архив с сохранением структуры каталогов. 8. Представьте отчет, который содержит: текст программного кода выполненных заданий и скрин результатов работы. Приложите к отчету скомпилированные программы по выполнению указанных заданий.
Практическое задание 2 Тема 2. Язык программирования Java Задание. Разработайте программы на языке Java, показывающие стандартные битовые операции. Рекомендации по выполнению задания 1. Выберите IDE и изучите технологию разработки java-приложений по документации. 2. Напишите программу, которая над двумя числами, заданными в шестнадцатеричной системе, выполняет все арифметические операции, а также операции декремента/инкремента (в префиксной и постфиксной форме). Предусмотрите выполнение всех побитовых операций. Вывод результатов должен быть оформлен в форме, показывающей логику работы операций. 3. Напишите программу, которая считывает с клавиатуры три целых числа и выводит на экран: a) их среднее арифметическое; b) максимальное из введенных чисел. Для считывания чисел можно использовать экземпляр класса java.util.Scanner: import java.util.Scanner; //импорт класса public class CalcAverage { public static void main (String args[]) { Scanner sc = new Scanner (System.in); //некоторый код int i1 = sc.nextInt(); //некоторый код 4. Напишите программу, которая генерирует массив из не менее чем 100 чисел, заполненных случайными целыми числами на интервале [0;K]. Константа К задается в «теле» программы. Подсчитайте количество простых чисел и чисел, кратных 3. Отсортируйте массив. Можно для выполнения использовать метод random класса java.lang.Math и класс Arrays. 5. Представьте отчет, который содержит: текст программного кода выполненных заданий и скрин результатов работы. Приложите к отчету скомпилированные программы по выполнению указанных заданий. Все программы следует оформлять в соответствии с Code Convention, при оформлении кода использование комментариев обязательно
Практическое задание 3 Тема 3. Объектно-ориентированное программирование в Java Задание. Напишите программу на языке Java, в которой продемонстрируйте работу основных принципов ООП. Рекомендации по выполнению задания 1. Разработайте класс для решения квадратных уравнений. Вычисление дискриминанта должен осуществлять вложенный класс. После компиляции объясните структуру class файлов. Проанализируйте использование вложенного класса. 2. Реализуйте игру в кости. Играют N игроков (компьютер в списке последний). Подкидываются одновременно К кубиков. Выигрывает тот, у кого большая сумма очков. Кто выиграл, тот и кидает первым в следующем кону. Игра идет до 7 выигрышей. Начинаете игру вы. 3. Напишите программу «Адрес человека». Есть сущность Человек, которая связана с сущностью Адрес. Считается, что у каждого человека есть только один адрес. Организовать массив объектов Человек (не менее 4) и по массиву: · осуществить поиск Человека по фамилии; · осуществить поиск человека по атрибуту адреса; · вывести людей, родившихся между определенными датами; · найти самого старого (молодого); · найти людей, проживающих на одной улице. Представьте отчет, который содержит: текст программного кода выполненных заданий и скрин результатов работы. Приложите к отчету скомпилированные программы по выполнению указанных заданий. 4. Все программы следует оформлять в соответствии с Code Convention, при оформлении кода использование комментариев обязательно.
Практическое задание 4 Тема 4. Java Base Libraries. Библиотеки Задание. Разработать программу с использованием интерфейсов и переопределить методы Java. Рекомендации по выполнению задания Напишите программу, реализующую следующую диаграмму классов:
Переопределяемые методы voice() выводят соответствующую строку на консоль. 1. Переработайте задачу про игру в кости под использование интерфейсов. Играют N игроков (компьютер в списке последний). Подкидываются одновременно К кубиков. Выигрывает тот, у кого большая сумма очков. Кто выиграл, тот и кидает первым в следующем кону. Игра идет до 7 выигрышей. Начинаете игру вы. Напишите программу, реализующую изображенный класс:
Выполните задание по варианту. Выбор осуществляется по первой букве фамилии. Классы, реализуемые в задании, не имеют метода main() и перед использованием должны быть инстанциированы (должен быть создан объект класса) в методе main() основного класса.
Представьте отчет, который содержит: текст программного кода выполненных заданий и скрин результатов работы. Приложите к отчету скомпилированные программы по выполнению указанных заданий. Все программы следует оформлять в соответствии с Code Convention, при оформлении кода использование комментариев обязательно.
Практическое задание 5 Тема 5. Обработка строк на Java Задание. Разработайте программу, демонстрирующую правила обработки строк в java. Рекомендации по выполнению задания 1. Разработайте программу формирующую инструкцию SQL, которая вставляет строки в таблицу T_GroupSelected <id_Student, firstName, lastName, id_Group> из таблицы T_Student<id_Student, firstName, lastName, id_Group, dolgCount > тех студентов, которые относятся к некоторой группе (строковый параметр) и количество долгов (целочисленный параметр) которых превышает заданное значение. В инструкции SQL строковые значения должны обрамляться одинарными кавычками. 2. Разработайте класс Person, в котором имеется функция, возвращающая Фамилию И.О. Функция должна учитывать возможность отсутствия значений в полях Имя и Отчество. Программу оптимизируйте с точки зрения быстродействия. 3. Доработайте класс адреса, который из полученной строки формата "Страна[d] Регион[d] Город[d] Улица[d] Дом[d] Корпус[d] Квартира" ([d] – разделитель, например, «запятая») выбирает соответствующие части и записывает их в соответствующие поля класса Address. Предусмотрите две реализации этого метода: · разделитель – только запятая (использовать метод split()); · разделитель – любой из символов ,.;- (класс StringTokenizer). Необходимо помнить, что в начале и конце разобранной части адреса не должно быть пробелов. Все поля адреса строковые. Разработайте проверочный класс не менее чем на четыре адресных строки. 4. Реализуйте класс Shirt:
Метод toString() выводит объяснение и значение полей построчно. Дан также строковый массив: shirts[0] = "S001,Black Polo Shirt,Black,XL"; shirts[1] = "S002,Black Polo Shirt,Black,L"; shirts[2] = "S003,Blue Polo Shirt,Blue,XL"; shirts[3] = "S004,Blue Polo Shirt,Blue,M"; shirts[4] = "S005,Tan Polo Shirt,Tan,XL"; shirts[5] = "S006,Black T-Shirt,Black,XL"; shirts[6] = "S007,White T-Shirt,White,XL"; shirts[7] = "S008,White T-Shirt,White,L"; shirts[8] = "S009,Green T-Shirt,Green,S"; shirts[9] = "S010,Orange T-Shirt,Orange,S"; shirts[10] = "S011,Maroon Polo Shirt,Maroon,S"; Преобразуйте строковый массив в массив класса Shirt и выведите его на консоль. 5. Разработайте класс, который получает строковое представление телефонного номера в одном из двух возможных строковых форматов: +<Код страны><Номер 10 цифр>, например “+79175655655” или “+104289652211” или 8<Номер 10 цифр> для России, например “89175655655” и преобразует полученную строку в формат: +<Код страны><Три цифры>–<Три цифры>–<Четыре цифры> 6. Предоставьте отчет, который содержит: текст программного кода выполненных заданий и скрин результатов работы. Приложите к отчету скомпилированные программы по выполнению указанных заданий. Все программы следует оформлять в соответствии с Code Convention, при оформлении кода использование комментариев обязательно.
Практическое задание 6 Тема 6. Работа с датой и временем в Java Вопросы для обсуждения: 1. Какие классы и интерфейсы Java используются для работы с датой и временем? 2. Что такое метка времени (timestamp) и как ее представлять в Java? 3. Как получить текущую дату и время в Java? 4. Как создать объект Date и Calendar для определенной даты и времени? 5. Как форматировать дату и время в строку и наоборот с использованием класса SimpleDateFormat? 6. Что такое временные интервалы (durations) и периоды (periods) в Java, и как их использовать с классом Duration и Period? 7. Какие возможности предоставляет Java 8 и выше для работы с датой и временем, включая классы LocalDate, LocalTime и LocalDateTime? 8. Как работать с часовыми поясами и временем в разных часовых поясах с использованием класса ZoneId и ZonedDateTime? 9. Как рассчитать разницу между двумя датами и временем в Java? 10. Как управлять операциями по сравнению и сортировкой дат и времени в Java? Методические материалы к занятию: 1. Для изучения данной темы необходимо изучить материалы электронного учебника. 2. Необходимо выполнить тестовые задания, которые закрепят освоения основных вопросов по данной теме.
Практическое задание 7 Тема 7. Коллекции в Java. Java Collection Задание. Разработайте программный код, демонстрирующий применение технологии Java Collection Framework. Рекомендации по выполнению задания 1. Разработайте класс Person для хранения даты рождения, напишите метод toString(), разработайте метод, возвращающий строковое представление даты рождения по вводимому в метод формату даты (например, короткий, средний и полный формат даты). 2. Напишите код, который формирует объекты Date и Calendar по следующим данным, вводимым пользователем: <Год><Месяц><Число> <Часы[1]><минуты> Напишите проверочный класс. 3. Проведите частотный анализ слов и символов из первой строки (строки выбираются произвольно). Определите символы, которые: · входят и в первую, и во вторую строку, · входят в первую и не входят во вторую, · содержатся хотя бы в одной строке. Для обозначенных заданий осуществите вывод по следующим параметрам: · символы должны выводиться в обычном порядке; · символы должны выводиться в обратном порядке; · символы должны выводиться в порядке возрастания циклического сдвига влево на n разрядов хеш-функции символа. 4. Разработайте класс, реализующий простое бинарное дерево. Реализуйте прямой, обратный и центрированный обход дерева. Рассчитайте длину дерева. Объясните структуру разработанных классов. 5. Представьте отчет, который содержит: текст программного кода выполненных заданий и скрин результатов работы. Приложите к отчету скомпилированные программы по выполнению указанных заданий. Все программы следует оформлять в соответствии с Code Convention, при оформлении кода использование комментариев обязательно. | |||||||||||||||||||||||||||||||||||||||||||


