From dd59ea2b3d283dfcee713573b286faaa2b0db88b Mon Sep 17 00:00:00 2001 From: mo Date: Sat, 13 Jul 2019 15:42:45 -0600 Subject: replace switch statement with DAYS array --- src/Q6/WeekDay.java | 41 ++++++++++++----------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) (limited to 'src/Q6') diff --git a/src/Q6/WeekDay.java b/src/Q6/WeekDay.java index 09cc1ba..4447933 100644 --- a/src/Q6/WeekDay.java +++ b/src/Q6/WeekDay.java @@ -3,7 +3,6 @@ package Q6; import java.util.*; public class WeekDay { - private int numberOfDays; public static final int JANUARY = 0; public static final int FEBRUARY = 0; public static final int MARCH = 0; @@ -18,33 +17,17 @@ public class WeekDay { public static final int DECEMBER = 0; public static final int SUNDAY = 0; - public static final int MONDAY = 0; - public static final int TUESDAY = 0; - public static final int WEDNESDAY = 0; - public static final int THURSDAY = 0; - public static final int FRIDAY = 0; - public static final int SATURDAY = 0; + public static final int MONDAY = 1; + public static final int TUESDAY = 2; + public static final int WEDNESDAY = 3; + public static final int THURSDAY = 4; + public static final int FRIDAY = 5; + public static final int SATURDAY = 6; + private static String[] DAYS = + new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; public String getWeekDay(int day, int month, int year) { - int totalDaysSinceEpoch = daysSinceEpoch(day, month, year); - switch (totalDaysSinceEpoch % 7) { - case 0: - return "Sunday"; - case 1: - return "Monday"; - case 2: - return "Tuesday"; - case 3: - return "Wednesday"; - case 4: - return "Thursday"; - case 5: - return "Friday"; - case 6: - return "Saturday"; - default: - return "Unknown"; - } + return DAYS[daysSinceEpoch(day, month, year) % 7]; } private int daysSinceEpoch(int day, int month, int year) { @@ -60,9 +43,9 @@ public class WeekDay { } private int daysThisYearUpTo(int day, int month) { - int x = 0; - for (int i = 1; i < month; i++) x += daysInMonth(i); - return x + day; + int days = 0; + for (int i = 1; i < month; i++) days += daysInMonth(i); + return days + day; } private int daysInMonth(int month) { -- cgit v1.2.3