Lab 1 - ✅ Lab 2 - ✅ Lab 3 - ✅
Lab 4 - ✅ Lab 5 - ✅ Lab 6 - ✅
Lab 7 - ✅
Main window:
Lab 1 interface:
Lab 2 interface:
Lab 3 interface:
Lab 4 interface:
Lab 5 interface:
Lab 6 interface:
Задачи на основные языковые конструкции:
a. Сформировать матрицу, состоящую из нулей и единиц, причем количество единиц строго равно количеству строк.
b. Дана строка. Разделить строку на фрагменты по три подряд идущих символа. В каждом фрагменте средний символ заменить на случайный символ, не совпадающий ни с одним из символов этого фрагмента. Показать фрагменты, упорядоченные по алфавиту.
c. Дан каталог книг. Про книгу известно: уникальный номер, автор, название, год издания. Реализовать CRUD, показ всех книг на экран и поиск по каждому из полей. Сделать меню для работы с каталогом.
Описать 4 класса (базовый и 3 потомка), описывающих некоторых хищных животных (один из потомков), всеядных (второй потомок) и травоядных (третий потомок). Определить в базовом классе абстрактный метод для расчета количества и типа пищи, необходимого для пропитания животного в зоопарке. Затем:
a. Упорядочить всю последовательность животных по убыванию количества пищи. При совпадении значений – упорядочивать данные по алфавиту по имени. Вывести идентификатор животного, имя, тип и количество потребляемой пищи для всех элементов списка.
b. Вывести первые 5 имен животных из полученного в пункте а) списка.
c. Вывести последние 3 идентификатора животных из полученного в пункте а) списка.
d. Организовать запись и чтение коллекции в/из файл.
e. Организовать обработку некорректного формата входного файла.
Напишите свой класс StringBuilder с поддержкой операции undo. Для этого делегируйте все методы стандартному StringBuilder, а в собственном классе храните список всех операций для выполнения undo(). Это будет реализацией шаблона «Команда».
Разработать приложение, позволяющее просматривать файлы и каталоги файловой системы, а также создавать и удалять текстовые файлы. Для работы с текстовыми файлами необходимо реализовать функциональность записи (дозаписи) в файл. Требуется определить исключения для каждого слоя приложения и корректно их обработать.
Создать “универсальный” класс, позволяющий получить значение из любого properties-файла. Физическое чтение файла должно происходить только один раз. Результаты чтения храните в коллекции типа Map.
В текстовом (или xml) файле содержится информация о переводах средств со счета на счет. Создайте приложение, позволяющее в параллельном режиме обработать эту информацию (счета в приложении представляются собой объекты). Синхронизируйте код приложения используя ключевое слово synchronized (1 вариант) и библиотеку java.util.concurrent (2 вариант).
Используя Swing или JavaFX написать пользовательский интерфейс для взаимодействия со всеми предыдущими лабораторными.