Лабораторные работы по Java
500 UAHЛабораторная 1
Общее задание
1. Установите JDK 1.7 или 1.8. Задайте пути к компилятору в PATH. В отчете опишите порядок своих действий и приведите скриншоты для каждого этапа.
2. Скомпилируйте и выполните простую программу в IDE. Объясните, что делает каждая ее строка. В отчете опишите порядок своих действий и приведите скриншоты для каждого этапа.
import java.util.Scanner;
public class Joke {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter your first name ");
String name = scanner.next();
String reverse = "";
for (int i = name.length()-2; i>=0; i--) {
reverse += name.substring(i,i+1);
}
reverse = name.substring(name.length()-1,name.length()).toUpperCase() + reverse.toLowerCase();
System.out.println("Then my name is "+reverse);
}
}
3. Объясните, что делает каждая строка приведенной программы.
4. Протестируйте на примере той же программы работу средств дополнения и автогенерации кода, подсказок, а также средств отладки IDE. В отчете перечислите возможности, которыми вы научились пользоваться и приведите их скриншоты.
Лабораторная 2
Для выполнения каждого индивидуального задания напишите консольное приложение. Реализуйте ввод исходных данных с клавиатуры и контроль правильности ввода. Результат выведите в консоль в отформатированном и удобном для чтения виде.
Общее задание
1. Реализуйте простейший калькулятор, который обрабатывает строковые команды вида «a operation b», где a, b – вещественные числа, operation – один из знаков операций +, -, *, /, ^. Если первый операнд не указан, то вместо него нужно использовать результат предыдущего действия. Например:
2 ^ 4
16
- 2.5
13.5
Для разбора вводимых выражений и проверки правильности ввода используйте регулярные
выражения.
Вариант 3
2. Выпуклый многоугольник на плоскости задан координатами своих вершин. Найдите его
площадь.
Указание: разбейте многоугольник диагоналями на несколько треугольников и найдите
площадь каждого треугольника отдельно.
3. Заданный двумерный массив (не обязательно квадратный) разверните на 90 градусов по
часовой стрелке и выведите полученный таким образом новый массив.
Лабораторная 3
Для выполнения каждого индивидуального задания напишите консольное приложение. Реализуйте ввод исходных данных с клавиатуры и контроль правильности ввода. Результат выведите в консоль в отформатированном и удобном для чтения виде. Реализуйте обработку возможных исключений.
Общее задание
1. Выполните задание 1 по варианту , при этом:
– в базовом классе определите минимум два разных конструктора;
– в базовом классе переопределите методы equals() и toString();
2. Создайте несколько объектов (как базового, так и производного класса) и сохраните их в один массив. Напишите цикл, который проходит по этому массиву и для каждого объекта выводит:
– название класса этого объекта;
– результаты работы методов, определенных в базовом классе;
– результаты работы методов, определенных только в производном классе (если это возможно для данного объекта);
3. Объедините несколько созданных объектов своего класса (из задания 1 по варианту) в список List. Реализуйте добавление, удаление объектов в списке, а также вывод списка на экран. Для полученного списка выполните задание 3 по варианту двумя способами:
а) с помощью методов класса Collectcions;
б) без использования методов класса Collections
(т. е. реализовав алгоритм самостоятельно).
4. Сохраните те же объекты в коллекцию HashMap, где ключами будут строковые имена объектов. Напишите методы для обработки такой коллекции:
– метод для поиска значения по ключу;
– метод для поиска ключей по значению;
– метод, выполняющий операцию из задания 4 по варианту.
Вариант 3
1. Создайте класс "Цвет". Внутренне представление цвета – три целые числа в диапазоне [0; 100], задающие процент яркости красной, зеленой и синей составляющей. Реализуйте методы класса (статические) и методы реализации (не статические):
– для создания цвета по заданным трем целым числам в диапазоне [0; 255];
– для создания цвета по трем вещественным числам в диапазоне [0; 100] либо [0; 1];
– метод, который по заданным двумя цветами a и b создает градиент между ними, то есть новый массив объектов-цветов, в котором первый цвет равен a, последний равен b, а все остальные являются промежуточными цветами.
– метод нахождения яркости цвета, а также методы сравнения цветов на «больше» – «меньше» по значению яркости цвета.
Создайте производный класс, в котором:
– добавьте метод для перевода цвета в модель HSV;
– добавьте метод, который в массиве объектов-цветов находит тот цвет, который является ближайшим к заданному (по значению параметра H, «hue»);
– переопределите метод toString() для вывода цвета в формате HSV.
3. Напишите метод для сортировки списка цветов сначала по величине красной компоненты, затем по величине синей компоненты. Порядок сортировки – по возрастанию.
4. Напишите метод, который в коллекции Map удаляет все повторяющиеся значения (не ключи).
Лабораторная работа 4
Общее задание.
1. Для классов из задания 3 лабораторной работы 3 (для базового и для производного) реализуйте механизм сериализации.
2. Напишите программу, которая:
– читает набор объектов (как базового, так и производного класса) из CSV файла и помещает их в массив либо список;
– сериализует этот массив (или список) в бинарный файл;
– десериализует массив (или список) из бинарного файла.
Имена файлов задаются в виде параметров при запуске программы.
Программа должна корректно обрабатывать ошибочные данные во входном файле!
Вариант 3
3. Напишите программу, которая переименовывает все файлы с расширением .txt из заданной директории, давая им имена 1.txt, 2.txt, 3.txt и так далее по порядку. Выведите старые имена файлов на экран и в текстовый файл.
4*. (Для программистов) Напишите программу, которая сравнивает содержимое двух заданных директорий и выводит список файлов, которые различаются. Для сравнения файлов используйте имя, размер и дату последнего изменения файла. Программа должна обрабатывать все вложенные директории.
Приложения 1
Отзыв заказчика о сотрудничестве с Aleksandra Ponochovna
Лабораторные работы по JavaUt ultrices, urna eget ornare ullamcorper, nunc lectus sollicitudin libero, vitae cursus dui sem ut enim. Nulla finibus velit arcu, id dignissim tellus hendrerit vitae. Aenean sit amet semper risus. Morbi vestibulum, augue suscipit cursus pretium, lorem nisl consequat eros, nec pretium tellus est nec lectus. Suspendisse aliquam hendrerit lacus non porta. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas suscipit, urna ut gravida condimentum, sapien justo condimentum libero, sed malesuada neque neque ac ipsum. Praesent et facilisis justo, quis auctor ex. Integer consectetur purus a massa porttitor varius. Phasellus nec sapien commodo, aliquet quam ac, pretium dolor. Pellentesque euismod, libero vel mattis rutrum, turpis turpis interdum mauris, sit amet tincidunt odio felis ut tortor. Duis vehicula nibh quis nisl efficitur fermentum.
![]()
Отзыв фрилансера о сотрудничестве с заказчиком
Лабораторные работы по JavaВсе супер!
Легкость выхода на контакст, быстрые ответы.
Адекватность требований и наличие четкого ТЗ
-
31 2 0 Привет
----------------------------------------
Готова взяться за работу
Имею опыт работы 3 года разработчиком
-
2071 226 0 1 Здравствуйте. готов выполнить все ваши лабы с комментариями
-
182 5 0 Легко выполню ваш заказ. Пишите, обсудим все вопросы. Опыт разработки на Java более года, причем с реальными проектами
-
продвижение Aleksandra Ponochovna ?))
-
Актуальные фриланс-проекты в категории Java
Исправление ошибок, оптимизация конверсии и улучшение UX в Shopify-магазинеТребуется опытный Shopify-разработчик для решения следующих задач: 1. Исправление критических ошибок JavaScript (приоритет) В нескольких сессиях пользователей фиксируются ошибки при добавлении товара в корзину, которые приводят к невозможности оформить заказ. Ошибки… HTML и CSS верстка, Java ∙ 9 часов 14 минут назад ∙ 17 ставок |
Разработка Android-приложения плеера для сервиса онлайн-ТВ
27 000 UAH
Нужен Android-разработчик для создания нативного Android-приложения для сервиса онлайн-ТВ. Планируется две версии: для мобильных устройств: смартфоны и планшеты; для Android TV / Android STB: телевизионные приставки. Ориентировочные сроки: до 3 месяцев. Ориентировочный… Java, Разработка под Android ∙ 1 месяц 2 дня назад ∙ 33 ставки |