Commit dd59ea2

mo <mo.khan@gmail.com>
2019-07-13 21:42:45
replace switch statement with DAYS array
1 parent 2db187f
Changed files (1)
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) {