aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-11-09 17:13:21 +0000
committerGitHub <noreply@github.com>2021-11-09 17:13:21 +0000
commit929f626fbb9a25944b2753e762d26f7c652d3d84 (patch)
tree9502e37bb7731b7e9b9c2f006600ce7468d9e7c5
parentf967514c6a1f5cb6b8e57cca28b8157eefcfa151 (diff)
parent9dabe731bd4ee35960d052317041b44f4d97db3a (diff)
downloadperlweeklychallenge-club-929f626fbb9a25944b2753e762d26f7c652d3d84.tar.gz
perlweeklychallenge-club-929f626fbb9a25944b2753e762d26f7c652d3d84.tar.bz2
perlweeklychallenge-club-929f626fbb9a25944b2753e762d26f7c652d3d84.zip
Merge pull request #5184 from ziameraj16/ziameraj16-challenge-138
Java solution for Workdays
-rw-r--r--challenge-138/ziameraj16/README.md32
-rw-r--r--challenge-138/ziameraj16/java/Workdays.java22
2 files changed, 34 insertions, 20 deletions
diff --git a/challenge-138/ziameraj16/README.md b/challenge-138/ziameraj16/README.md
index b23c6db907..f6c41db25d 100644
--- a/challenge-138/ziameraj16/README.md
+++ b/challenge-138/ziameraj16/README.md
@@ -1,31 +1,23 @@
-# Middle 3 digits
+# Workdays
## Java Solution
To compile the code run
```java
-javac MiddleThreeDigits.java
+javac Workdays.java
```
To run
```java
-java MiddleThreeDigits
+java Workdays
```
### Example
```bash
-~/study/github/perlweeklychallenge-club/challenge-135/ziameraj16/java$ javac MiddleThreeDigits.java
-~/study/github/perlweeklychallenge-club/challenge-135/ziameraj16/java$ java MiddleThreeDigits
-Enter the Number
-1234567
-345
-~/study/github/perlweeklychallenge-club/challenge-135/ziameraj16/java$ java MiddleThreeDigits
-Enter the Number
--123
-123
-~/study/github/perlweeklychallenge-club/challenge-135/ziameraj16/java$ java MiddleThreeDigits
-Enter the Number
-1
-too short
-~/study/github/perlweeklychallenge-club/challenge-135/ziameraj16/java$ java MiddleThreeDigits
-Enter the Number
-1234
-even number of digits
+~/study/github/perlweeklychallenge-club/challenge-138/ziameraj16/java$ javac Workdays.java
+~/study/github/perlweeklychallenge-club/challenge-138/ziameraj16/java$ java Workdays
+Enter the year
+2021
+Number of workdays: 261
+~/study/github/perlweeklychallenge-club/challenge-138/ziameraj16/java$ java Workdays
+Enter the year
+2020
+Number of workdays: 262
```
diff --git a/challenge-138/ziameraj16/java/Workdays.java b/challenge-138/ziameraj16/java/Workdays.java
new file mode 100644
index 0000000000..0659d1a8eb
--- /dev/null
+++ b/challenge-138/ziameraj16/java/Workdays.java
@@ -0,0 +1,22 @@
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.util.EnumSet;
+import java.util.Scanner;
+import java.util.Set;
+
+public class Workdays {
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("Enter the year");
+ final int year = scanner.nextInt();
+ System.out.println("Number of workdays: " + findNumberOfWorkdays(year));
+ }
+
+ private static long findNumberOfWorkdays(int year) {
+ final LocalDate start = LocalDate.of(year, 1, 1);
+ final LocalDate end = LocalDate.of(year, 12, 31);
+ Set<DayOfWeek> weekend = EnumSet.of(DayOfWeek.SATURDAY, DayOfWeek.SUNDAY) ;
+ return start.datesUntil(end).filter(date -> !weekend.contains(date.getDayOfWeek())).count() + 1;
+ }
+}