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:30HH: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");
}Görev
KolayprocessTime adlı, dört argüman alan bir metot oluştur:
- "HH:mm" biçiminde bir String (
timeStr) - Eklenecek veya çıkarılacak bir tamsayı (
amount) - "hours" veya "minutes" değerlerinden biri olan bir String (
unit) - "add" veya "subtract" değerlerinden biri olan bir String (
operation)
Metot şunları yapmalıdır:
- Girdi olarak verilen saat dizesini ayrıştırmak
- Belirtilen işlemi gerçekleştirmek
- 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));
}
}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 İşlemeKendi başına pratik yap: Online Java derleyicisi