LocalDate Temelleri
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 54 / 59.
Java'daki LocalDate, saat veya saat dilimi içermeyen bir tarihi temsil eder. Doğum günleri, tatiller veya programlar gibi tarihlerle çalışmak için kullanılır.
Bugünün tarihini oluşturun:
LocalDate today = LocalDate.now();Belirli bir tarih oluşturun:
LocalDate date = LocalDate.of(2024, 3, 15);Yukarıdaki kodu çalıştırdıktan sonra, date şunu içerir: 2024-03-15
Bir tarihin farklı bölümlerini alın:
LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear(); // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth(); // 15
String dayOfWeek = date.getDayOfWeek().toString(); // "FRIDAY"Bir String'den tarih ayrıştırın:
LocalDate date = LocalDate.parse("2024-03-15"); // Format: "yyyy-MM-dd"Önemli: Eğer dize formatı geçersizse, parse() bir DateTimeParseException fırlatır. Bunu işlemek için try-catch kullanın:
try {
LocalDate date = LocalDate.parse("invalid-date");
} catch (DateTimeParseException e) {
System.out.println("Invalid date format");
}Gün ekleyin veya çıkarın:
LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10); // 2024-03-25
LocalDate past = date.minusDays(5); // 2024-03-10Yukarıdaki kodu yürüttükten sonra:
future: 2024-03-25past: 2024-03-10
Görev
KolayÜç argüman alan processDate adında bir metot oluşturun:
- "yyyy-MM-dd" formatında bir String (
dateStr) - Eklenecek veya çıkarılacak bir tam sayı (
days) - "add" veya "subtract" değerlerinden biri olan bir String (
operation)
Metot şunları yapmalıdır:
- Girdi tarih dizesini ayrıştırmalı
- Belirtilen gün sayısını eklemeli veya çıkarmalı
- Sonuç hakkında biçimlendirilmiş bilgi döndürmeli
Dönüş mesajları şunlar olmalıdır:
- Geçersiz tarih formatı ise: "Invalid date format" döndürün
- Geçersiz işlem ise: "Invalid operation" döndürün
- Başarılı ise: "Original: [date], New: [new_date], Day of week: [day_name]" döndürün
Kendin dene
import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String processDate(String dateStr, int days, String operation) {
// Kodunuzu buraya yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateStr = scanner.nextLine();
int days = Integer.parseInt(scanner.nextLine());
String operation = scanner.nextLine();
System.out.println(processDate(dateStr, days, operation));
}
}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
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey4HashSet 1. Kısım
HashSet Nedir?Eleman EklemeEleman KaldırmaElemanın Varlığını Kontrol EtmeBoş mu ve BoyutTemizle ve KlonlaÖzet - HashSet10Tarih ve Saat
LocalDate TemelleriLocalTime İşlemleriLocalDateTime KullanımıPeriod ve DurationTarih BiçimlendirmeZaman Dilimi Yönetimi2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme