LocalTime 연산
Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 55번째.
Java의 LocalTime은 날짜나 시간대가 없는 시간을 나타냅니다. 영업 시간이나 일정 같은 하루 중 특정 시간 값을 다룰 때 유용합니다.
현재 시간 생성:
LocalTime now = LocalTime.now();특정 시간 생성:
LocalTime time = LocalTime.of(14, 30);
// 14:30 (2:30 PM)위 코드를 실행한 후, time에는 다음이 포함됩니다:
14:30
시간을 더하거나 빼기:
LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45); // 15:15
LocalTime earlier = time.minusHours(1); // 13:30챌린지
쉬움processTime이라는 이름의 메서드를 생성하세요. 이 메서드는 네 개의 인수를 받습니다:
- "HH:mm" 형식의 String(
timeStr) - 더하거나 뺄 정수(
amount) - "hours" 또는 "minutes"인 String(
unit) - "add" 또는 "subtract"인 String(
operation)
이 메서드는 다음을 수행해야 합니다:
- 입력 시간 문자열을 파싱합니다
- 지정된 연산을 수행합니다
- 결과에 대한 형식화된 정보를 반환합니다
반환 메시지는 다음과 같아야 합니다:
- 시간 형식이 잘못된 경우: "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));
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.