Menu
CoddyTech

LocalTime İşlemleri

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 55 / 59.

Java'daki LocalTime, tarih veya saat dilimi olmadan bir saati temsil eder. Açılış saatleri veya programlar gibi gün içindeki saat değerleriyle çalışırken kullanışlıdır.

Geçerli saati oluştur:

LocalTime now = LocalTime.now();

Belirli bir saat oluşturun:

LocalTime time = LocalTime.of(14, 30);
// 14:30 (2:30 PM)

Yukarıdaki kodu çalıştırdıktan sonra time şunu içerir:

14:30

Zaman ekleyin veya çıkarın:

LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45);  // 15:15
LocalTime earlier = time.minusHours(1);  // 13:30

HH:mm biçiminde bir String'den saat ayrıştırın:

LocalTime time = LocalTime.parse("14:30");  // 14:30

"25:70" gibi geçerli bir saat olmayan bir dize, parse() yönteminin DateTimeParseException fırlatmasına neden olur; bu, LocalDate.parse() ile aynı istisnadır. Bunu try-catch ile yakalayın:

try {
    LocalTime time = LocalTime.parse("25:70");
} catch (DateTimeParseException e) {
    System.out.println("Invalid time format");
}
challenge icon

Görev

Kolay

processTime adlı, dört argüman alan bir metot oluştur:

  1. "HH:mm" biçiminde bir String (timeStr)
  2. Eklenecek veya çıkarılacak bir tamsayı (amount)
  3. "hours" veya "minutes" değerlerinden biri olan bir String (unit)
  4. "add" veya "subtract" değerlerinden biri olan bir String (operation)

Metot şunları yapmalıdır:

  1. Girdi olarak verilen saat dizesini ayrıştırmak
  2. Belirtilen işlemi gerçekleştirmek
  3. Sonuç hakkında biçimlendirilmiş bilgi döndürmek

Döndürülecek mesajlar şöyle olmalıdır:

  • Saat biçimi geçersizse: "Invalid time format" döndür
  • Birim geçersizse: "Invalid unit" döndür
  • İşlem geçersizse: "Invalid operation" döndür
  • Başarılı olduğunda: "Original: [time], New: [new_time]" döndür

Kendin dene

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) {
        // Kodunuzu buraya yazın
    }
    
    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));
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Java derleyicisi