פעולות LocalTime
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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נתח זמן מתוך String בפורמט HH:mm:
LocalTime time = LocalTime.parse("14:30"); // 14:30מחרוזת שאינה שעה תקפה, כגון "25:70", גורמת ל-parse() לזרוק DateTimeParseException, אותה חריגה כמו LocalDate.parse(). יש לתפוס אותה באמצעות try-catch:
try {
LocalTime time = LocalTime.parse("25:70");
} catch (DateTimeParseException e) {
System.out.println("Invalid time format");
}אתגר
קלצרו מתודה בשם processTime שמקבלת ארבעה ארגומנטים:
- מחרוזת (
timeStr) בפורמט "HH:mm" - מספר שלם (
amount) שיש להוסיף או להחסיר - מחרוזת (
unit) שערכה הוא "hours" או "minutes" - מחרוזת (
operation) שערכה הוא "add" או "subtract"
על המתודה:
- לנתח את מחרוזת הזמן שהוזנה
- לבצע את הפעולה שצוינה
- להחזיר מידע מעוצב על התוצאה
ההודעות שיוחזרו צריכות להיות:
- אם פורמט הזמן אינו תקין: יש להחזיר "Invalid time format"
- אם היחידה אינה תקינה: יש להחזיר "Invalid unit"
- אם הפעולה אינה תקינה: יש להחזיר "Invalid operation"
- במקרה של הצלחה: יש להחזיר "Original: [time], New: [new_time]"
נסו בעצמכם
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));
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים4HashSet חלק 1
מהו HashSet?הוספת איברהסרת איברבדיקה אם איבר קייםבדיקת ריקנות וגודלניקוי ושכפולסיכום - HashSet10תאריך ושעה
יסודות LocalDateפעולות LocalTimeשימוש ב־LocalDateTimeתקופה ומשכי זמןעיצוב תאריכיםטיפול באזורי זמןתרגלו בעצמכם: קומפיילר Java אונליין