Menu
Coddy logo textTech

Period ve Duration

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

Period, tarih tabanlı bir zaman miktarını (yıl, ay, gün) temsil ederken Duration, zaman tabanlı bir miktarı (saat, dakika, saniye) temsil eder.

Bir Dönem Oluşturun:

Period period = Period.of(1, 2, 15);
// 1 year, 2 months, 15 days

Bir Süre Oluştur:

Duration duration = Duration.ofHours(2);
// 2 hours
Duration minutes = Duration.ofMinutes(90);
// 90 minutes

Yukarıdaki kodu çalıştırdıktan sonra, period şu değeri içerir:

P1Y2M15D  // ISO-8601 format
challenge icon

Görev

Kolay

calculateDifference adlı ve dört bağımsız değişken alan bir yöntem oluşturun:

  1. "yyyy-MM-dd HH:mm" biçiminde bir String (start)
  2. "yyyy-MM-dd HH:mm" biçiminde bir String (end)
  3. "period" veya "duration" değerlerinden birini alan bir String (unit)
  4. "full" veya "simple" değerlerinden birini alan bir String (format)

Yöntem şunları yapmalıdır:

  1. start ve end tarihleri arasındaki farkı hesaplamak
  2. Farkı belirtilen biçimde döndürmek

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

  • Geçersiz tarihler için: "Invalid date format" döndürün
  • Geçersiz birim için: "Invalid unit" döndürün
  • Geçersiz biçim için: "Invalid format" döndürün
  • period ve "full" biçimi için: "Years: X, Months: Y, Days: Z"
  • period ve "simple" biçimi için: "XyYmZd"
  • duration ve "full" biçimi için: "Hours: X, Minutes: Y"
  • duration ve "simple" biçimi için: "XhYm"

Kendin dene

import java.util.Scanner;
import java.time.*;
import java.time.format.*;

public class Main {
    public static String calculateDifference(String start, String end, String unit, String format) {
        // Kodunuzu buraya yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String start = scanner.nextLine();
        String end = scanner.nextLine();
        String unit = scanner.nextLine();
        String format = scanner.nextLine();
        
        System.out.println(calculateDifference(start, end, unit, format));
    }
}
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