aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCY Fung <fungcheokyin@gmail.com>2022-07-30 10:36:43 +0800
committerCY Fung <fungcheokyin@gmail.com>2022-07-30 10:36:43 +0800
commitc579eaf2faec2bcc6e7e2b5956ef512c39e0a245 (patch)
tree12be7bef14e4be00b127461effc82cbe8a256c4e
parent64e78e67c66361116951ca9b3580bf45a95c23b1 (diff)
downloadperlweeklychallenge-club-c579eaf2faec2bcc6e7e2b5956ef512c39e0a245.tar.gz
perlweeklychallenge-club-c579eaf2faec2bcc6e7e2b5956ef512c39e0a245.tar.bz2
perlweeklychallenge-club-c579eaf2faec2bcc6e7e2b5956ef512c39e0a245.zip
Week 175 Task 1 Java Solution
-rw-r--r--challenge-175/cheok-yin-fung/java/LastSunday.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/challenge-175/cheok-yin-fung/java/LastSunday.java b/challenge-175/cheok-yin-fung/java/LastSunday.java
new file mode 100644
index 0000000000..50b6432412
--- /dev/null
+++ b/challenge-175/cheok-yin-fung/java/LastSunday.java
@@ -0,0 +1,53 @@
+// The Weekly Challenge 175
+// Task 1 Last Sunday
+
+import java.time.LocalDate;
+
+public class LastSunday
+{
+
+ public static void main(String[] args)
+ {
+ int year = Integer.parseInt(args[0]);
+ for (String date_str : last_sun_year(year))
+ {
+ System.out.println(date_str);
+ }
+ }
+
+ public static LocalDate last_sun_month (int yr, int month)
+ {
+ LocalDate temp = LocalDate.of(yr,month+1,1);
+ return temp.minusDays(gd(temp));
+ }
+
+ public static String[] last_sun_year(int yr)
+ {
+ String[] ans = new String[12];
+ for (int i = 1; i<=11; i++)
+ {
+ ans[i-1] = last_sun_month(yr,i).toString();
+ }
+ LocalDate temp = LocalDate.of(yr+1,1,1);
+ ans[11] = temp.minusDays(gd(temp)).toString();
+ return ans;
+ }
+
+ public static int gd(LocalDate date)
+ {
+ var a = date.getDayOfWeek();
+ switch(a)
+ {
+ case MONDAY: return 1;
+ case TUESDAY: return 2;
+ case WEDNESDAY: return 3;
+ case THURSDAY: return 4;
+ case FRIDAY: return 5;
+ case SATURDAY: return 6;
+ case SUNDAY: return 7;
+ }
+ return 0;
+ }
+
+
+}