Operacje na LocalTime
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 55 z 59.
LocalTime w Javie reprezentuje godzinę bez daty ani strefy czasowej. Przydaje się do pracy z wartościami określającymi porę dnia, takimi jak godziny otwarcia lub harmonogramy.
Utwórz bieżący czas:
LocalTime now = LocalTime.now();Utwórz określoną godzinę:
LocalTime time = LocalTime.of(14, 30);
// 14:30 (2:30 po południu)Po wykonaniu powyższego kodu time zawiera:
14:30
Dodaj lub odejmij czas:
LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45); // 15:15
LocalTime earlier = time.minusHours(1); // 13:30Wyzwanie
ŁatwyUtwórz metodę o nazwie processTime, która przyjmuje cztery argumenty:
- Ciąg znaków (
timeStr) w formacie "HH:mm" - Liczbę całkowitą (
amount) do dodania lub odjęcia - Ciąg znaków (
unit) równy "hours" lub "minutes" - Ciąg znaków (
operation) równy "add" lub "subtract"
Metoda powinna:
- Przeparsować wejściowy ciąg znaków reprezentujący czas
- Wykonać określoną operację
- Zwrócić sformatowane informacje o wyniku
Komunikaty zwracane przez metodę:
- Jeśli format czasu jest nieprawidłowy: zwróć "Invalid time format"
- Jeśli jednostka jest nieprawidłowa: zwróć "Invalid unit"
- Jeśli operacja jest nieprawidłowa: zwróć "Invalid operation"
- W przypadku powodzenia: zwróć "Original: [time], New: [new_time]"
Spróbuj swoich sił
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) {
// Wpisz tutaj swój kod
}
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));
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach4HashSet — część 1
Czym jest HashSet?Dodawanie elementuUsuwanie elementuSprawdzanie, czy element istniejePusty i rozmiarCzyszczenie i klonowaniePodsumowanie — HashSet10Data i czas
Podstawy LocalDateOperacje na LocalTimeZastosowanie LocalDateTimePeriod i DurationFormatowanie datObsługa stref czasowych2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online