תקופה ומשכי זמן
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 57 מתוך 59.
Period מייצג פרק זמן המבוסס על תאריך (שנים, חודשים, ימים), ואילו Duration מייצג פרק זמן המבוסס על זמן (שעות, דקות, שניות).
יצירת תקופה:
Period period = Period.of(1, 2, 15);
// שנה אחת, 2 חודשים, 15 ימיםיצירת משך זמן:
Duration duration = Duration.ofHours(2);
// 2 שעות
Duration minutes = Duration.ofMinutes(90);
// 90 דקותלאחר ביצוע הקוד שלמעלה, period מכיל:
P1Y2M15D // פורמט ISO-8601אתגר
קלצרו מתודה בשם calculateDifference שמקבלת ארבעה ארגומנטים:
- מחרוזת (
start) בפורמט "yyyy-MM-dd HH:mm" - מחרוזת (
end) בפורמט "yyyy-MM-dd HH:mm" - מחרוזת (
unit) שערכה "period" או "duration" - מחרוזת (
format) שערכה "full" או "simple"
המתודה צריכה:
- לחשב את ההפרש בין תאריכי ההתחלה והסיום
- להחזיר את ההפרש בפורמט שצוין
הודעות ההחזרה צריכות להיות:
- אם התאריכים אינם תקינים: להחזיר "Invalid date format"
- אם היחידה אינה תקינה: להחזיר "Invalid unit"
- אם הפורמט אינו תקין: להחזיר "Invalid format"
- עבור period בפורמט "full": "Years: X, Months: Y, Days: Z"
- עבור period בפורמט "simple": "XyYmZd"
- עבור duration בפורמט "full": "Hours: X, Minutes: Y"
- עבור duration בפורמט "simple": "XhYm"
נסו בעצמכם
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) {
// כתבו את הקוד שלכם כאן
}
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));
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים4HashSet חלק 1
מהו HashSet?הוספת איברהסרת איברבדיקה אם איבר קייםבדיקת ריקנות וגודלניקוי ושכפולסיכום - HashSet10תאריך ושעה
יסודות LocalDateפעולות LocalTimeשימוש ב־LocalDateTimeתקופה ומשכי זמןעיצוב תאריכיםטיפול באזורי זמןתרגלו בעצמכם: קומפיילר Java אונליין