From 82c5ee9fe01f7830bb493023f3c285f4ae925864 Mon Sep 17 00:00:00 2001 From: sgglko Date: Sun, 3 Mar 2024 20:01:44 +0100 Subject: [PATCH 1/2] fixed #62 problem with entering date after 24th december. there was also a problem with leap years. fixed this too --- Exercise.java | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/Exercise.java b/Exercise.java index 3c092f9..d8a0c2a 100644 --- a/Exercise.java +++ b/Exercise.java @@ -1,6 +1,30 @@ public class Exercise { - public static void main(String[] args) { - // implement exercise here - } + public static void main(String[] args) { + @SuppressWarnings("resource") + Scanner sc = new Scanner(System.in); + + System.out.print("Gib bitte ein Datum ein (dd.mm.yyyy): "); + String input = sc.next(); + + int day = Integer.valueOf(input.substring(0, 2)); + int month = Integer.valueOf(input.substring(3, 5)); + int year = Integer.valueOf(input.substring(6, 10)); + + LocalDate inputDate = LocalDate.of(year, month, day); + LocalDate christmas; + + System.out.println("Wochentag: " + inputDate.getDayOfWeek()); + + if (day <= 24 || month < 12) { + christmas = LocalDate.of(year, 12, 24); + int x = christmas.getDayOfYear() - inputDate.getDayOfYear(); + System.out.printf("Tage bis Weihnachte: %d%n", x); + } else { + christmas = LocalDate.of(year + 1, 12, 24); + int a = LocalDate.of(year,12,31).getDayOfYear() - inputDate.getDayOfYear(); + int b = a + christmas.getDayOfYear(); + System.out.printf("Tage bis Weihnachten: %d%n",b); + } + } } From 0359b70b53700cfdc6c56b4728ec1e720bfb8043 Mon Sep 17 00:00:00 2001 From: sgglko Date: Mon, 4 Mar 2024 08:16:11 +0100 Subject: [PATCH 2/2] fixed variable names for better readability --- Exercise.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Exercise.java b/Exercise.java index d8a0c2a..4d91e72 100644 --- a/Exercise.java +++ b/Exercise.java @@ -18,13 +18,13 @@ public static void main(String[] args) { if (day <= 24 || month < 12) { christmas = LocalDate.of(year, 12, 24); - int x = christmas.getDayOfYear() - inputDate.getDayOfYear(); - System.out.printf("Tage bis Weihnachte: %d%n", x); + int daysUntilChristmas = christmas.getDayOfYear() - inputDate.getDayOfYear(); + System.out.printf("Tage bis Weihnachte: %d%n", daysUntilChristmas); } else { christmas = LocalDate.of(year + 1, 12, 24); - int a = LocalDate.of(year,12,31).getDayOfYear() - inputDate.getDayOfYear(); - int b = a + christmas.getDayOfYear(); - System.out.printf("Tage bis Weihnachten: %d%n",b); + int daysUntilNewYear = LocalDate.of(year,12,31).getDayOfYear() - inputDate.getDayOfYear(); + int daysUntilNextYearsChristmas = daysUntilNewYear + christmas.getDayOfYear(); + System.out.printf("Tage bis Weihnachten: %d%n",daysUntilNextYearsChristmas); } } }