aboutsummaryrefslogtreecommitdiff
path: root/challenge-135/mohammad-anwar/java/MiddleThreeDigits.java
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-10-23 13:54:41 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-10-23 13:54:41 +0100
commit9daa3e136025059791e059ef01274cbc6fe3faf3 (patch)
treeda61f90ee2e691d5bd73b7036e686fff3c9e8447 /challenge-135/mohammad-anwar/java/MiddleThreeDigits.java
parent70645ccc9b7d993564e223449e77117f98dc029a (diff)
downloadperlweeklychallenge-club-9daa3e136025059791e059ef01274cbc6fe3faf3.tar.gz
perlweeklychallenge-club-9daa3e136025059791e059ef01274cbc6fe3faf3.tar.bz2
perlweeklychallenge-club-9daa3e136025059791e059ef01274cbc6fe3faf3.zip
- Added Java solution to "Middle 3-digits" task of week 135.
Diffstat (limited to 'challenge-135/mohammad-anwar/java/MiddleThreeDigits.java')
-rw-r--r--challenge-135/mohammad-anwar/java/MiddleThreeDigits.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/challenge-135/mohammad-anwar/java/MiddleThreeDigits.java b/challenge-135/mohammad-anwar/java/MiddleThreeDigits.java
new file mode 100644
index 0000000000..74eec8fc78
--- /dev/null
+++ b/challenge-135/mohammad-anwar/java/MiddleThreeDigits.java
@@ -0,0 +1,52 @@
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/*
+
+Week 135:
+
+ https://theweeklychallenge.org/blog/perl-weekly-challenge-135
+
+Task #1: Middle 3-digits
+
+ You are given an integer.
+
+ Write a script find out the middle 3-digits of the given integer, if possible otherwise throw sensible error.
+
+*/
+
+class MiddleThreeDigits {
+
+ public static void main(String[] args) {
+ String p = System.getProperty("number", "1234567");
+
+ Pattern pattern = Pattern.compile("\\-?\\d+");
+ if (pattern.matcher(p).find()) {
+
+ int n = Math.abs(Integer.parseInt(p));
+ int l = countDigits(n);
+ if (l == 1) {
+ System.out.println("ERROR: Too short.");
+ }
+ else if (l % 2 == 0) {
+ System.out.println("ERROR: Even number of digists.");
+ }
+ else {
+ int i = (l / 2) - 1;
+ System.out.println(String.valueOf(n).substring(i, i+3));
+ }
+
+ }
+ else {
+ System.out.println("ERROR: Invalid number.");
+ }
+ }
+
+ public static int countDigits(int n) {
+ int l = 0;
+ for(; n != 0; n /= 10, ++l);
+ return l;
+ }
+
+}