aboutsummaryrefslogtreecommitdiff
path: root/challenge-138/abigail/java/ch-1.java
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-11-14 13:03:11 +0100
committerAbigail <abigail@abigail.be>2021-11-14 13:03:11 +0100
commitc1db8bac0eaafcc7e7c94d712ce24dc69b776c53 (patch)
tree76f34f10adc27d237e343671818fe451490f0906 /challenge-138/abigail/java/ch-1.java
parent14510de14e1f435b1439c451a2fa5cb9971a7c78 (diff)
downloadperlweeklychallenge-club-c1db8bac0eaafcc7e7c94d712ce24dc69b776c53.tar.gz
perlweeklychallenge-club-c1db8bac0eaafcc7e7c94d712ce24dc69b776c53.tar.bz2
perlweeklychallenge-club-c1db8bac0eaafcc7e7c94d712ce24dc69b776c53.zip
Solutions for week 138 in 14 languages.
Diffstat (limited to 'challenge-138/abigail/java/ch-1.java')
-rw-r--r--challenge-138/abigail/java/ch-1.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/challenge-138/abigail/java/ch-1.java b/challenge-138/abigail/java/ch-1.java
new file mode 100644
index 0000000000..b4aff34076
--- /dev/null
+++ b/challenge-138/abigail/java/ch-1.java
@@ -0,0 +1,47 @@
+//
+// See ../README.md
+//
+
+//
+// Run as: ln ch-1.java ch1.java; javac ch1.java; java ch1 < input-file
+//
+
+import java.util.*;
+
+public class ch1 {
+ static int [] [] lookup = {
+ {261, 261, 260, 260, 261, 261, 261},
+ {262, 262, 261, 260, 261, 262, 262},
+ };
+
+ public static final int SUNDAY = 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;
+
+ static int [] anchors = {TUESDAY, SUNDAY, FRIDAY, WEDNESDAY};
+
+ public static int doomsday (int year) {
+ int anchor = anchors [(year / 100) % 4];
+ int y = year % 100;
+ return (((y / 12) + (y % 12) + ((y % 12) / 4)) + anchor) % 7;
+ }
+
+ public static int is_leap (int year) {
+ if ((year % 400 == 0) || (year % 4 == 0) && (year % 100 != 0)) {
+ return 1;
+ }
+ return 0;
+ }
+
+ public static void main (String [] args) {
+ Scanner scanner = new Scanner (System . in);
+ while (scanner . hasNextInt ()) {
+ int year = scanner . nextInt ();
+ System . out . println (lookup [is_leap (year)] [doomsday (year)]);
+ }
+ }
+}