diff options
| author | Abigail <abigail@abigail.be> | 2021-11-14 13:03:11 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-11-14 13:03:11 +0100 |
| commit | c1db8bac0eaafcc7e7c94d712ce24dc69b776c53 (patch) | |
| tree | 76f34f10adc27d237e343671818fe451490f0906 /challenge-138/abigail/java/ch-1.java | |
| parent | 14510de14e1f435b1439c451a2fa5cb9971a7c78 (diff) | |
| download | perlweeklychallenge-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.java | 47 |
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)]); + } + } +} |
