Операции с LocalTime
Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 55 из 59.
LocalTime в Java представляет время без даты или часового пояса. Это полезно для работы со значениями времени суток, такими как часы работы или расписания.
Создать текущее время:
LocalTime now = LocalTime.now();Создайте конкретное время:
LocalTime time = LocalTime.of(14, 30);
// 14:30 (14:30)После выполнения приведённого выше кода time содержит:
14:30
Добавление или вычитание времени:
LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45); // 15:15
LocalTime earlier = time.minusHours(1); // 13:30Задание
ЛегкоСоздайте метод с именем processTime, который принимает четыре аргумента:
- Строка (
timeStr) в формате "HH:mm" - Целое число (
amount) для добавления или вычитания - Строка (
unit) либо "hours", либо "minutes" - Строка (
operation) либо "add", либо "subtract"
Метод должен:
- Разобрать входную строку времени
- Выполнить указанную операцию
- Вернуть отформатированную информацию о результате
Сообщения возврата должны быть:
- Если неверный формат времени: вернуть "Invalid time format"
- Если неверная единица: вернуть "Invalid unit"
- Если неверная операция: вернуть "Invalid operation"
- При успехе: вернуть "Original: [time], New: [new_time]"
Шпаргалка
LocalTime представляет время без даты или часового пояса в Java.
Создать текущее время:
LocalTime now = LocalTime.now();Создать конкретное время:
LocalTime time = LocalTime.of(14, 30); // 14:30 (2:30 PM)Добавить или вычесть время:
LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45); // 15:15
LocalTime earlier = time.minusHours(1); // 13:30Попробуйте сами
import java.util.Scanner;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String processTime(String timeStr, int amount, String unit, String operation) {
// Напишите свой код здесь
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String timeStr = scanner.nextLine();
int amount = Integer.parseInt(scanner.nextLine());
String unit = scanner.nextLine();
String operation = scanner.nextLine();
System.out.println(processTime(timeStr, amount, unit, operation));
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах4HashSet Часть 1
Что такое HashSet?Добавление элементаУдаление элементаПроверка наличия элементаПустота и размерОчистка и клонированиеПовторение - HashSet10Даты и время
Основы LocalDateОперации с LocalTimeИспользование LocalDateTimePeriod и DurationФорматирование датРабота с часовыми поясами2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка слов