عمليات LocalTime
جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 55 من 59.
يمثل LocalTime في Java وقتاً بدون تاريخ أو منطقة زمنية. إنه مفيد للتعامل مع قيم الوقت خلال اليوم مثل ساعات العمل أو الجداول الزمنية.
إنشاء الوقت الحالي:
LocalTime now = LocalTime.now();إنشاء وقت محدد:
LocalTime time = LocalTime.of(14, 30);
// 14:30 (2:30 مساءً)بعد تنفيذ الكود أعلاه، time يحتوي على:
14:30
إضافة أو طرح الوقت:
LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45); // 15:15
LocalTime earlier = time.minusHours(1); // 13:30التحدي
سهلقم بإنشاء طريقة تسمى processTime تأخذ أربعة وسائط:
- سلسلة نصية (
timeStr) بتنسيق "HH:mm" - عدد صحيح (
amount) للإضافة أو الطرح - سلسلة نصية (
unit) إما "hours" أو "minutes" - سلسلة نصية (
operation) إما "add" أو "subtract"
يجب أن تقوم الطريقة بـ:
- تحليل سلسلة وقت الإدخال
- إجراء العملية المحددة
- إرجاع معلومات منسقة حول النتيجة
يجب أن تكون رسائل الإرجاع:
- إذا كان تنسيق الوقت غير صالح: أرجع "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 مساءً)إضافة أو طرح الوقت:
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));
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات4HashSet الجزء الأول
ما هو الـ HashSet؟إضافة عنصرحذف عنصرالتحقق من وجود عنصرالفراغ والحجمالمسح والنسخملخص - HashSet10التاريخ والوقت
أساسيات LocalDateعمليات LocalTimeاستخدام LocalDateTimePeriod و Durationتنسيق التاريخالتعامل مع المناطق الزمنية2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكم