aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-097/ziameraj16/README.md62
-rw-r--r--challenge-097/ziameraj16/java/CaesarCipher.java33
2 files changed, 43 insertions, 52 deletions
diff --git a/challenge-097/ziameraj16/README.md b/challenge-097/ziameraj16/README.md
index edc34dba03..94b92db99c 100644
--- a/challenge-097/ziameraj16/README.md
+++ b/challenge-097/ziameraj16/README.md
@@ -1,63 +1,21 @@
# Java solution
-## Reverse Words
+## Caesar Cipher
To compile the code run
```java
-javac ReverseWords.java
+javac CaesarCipher.java
```
To run
```java
-java ReverseWords
+java CaesarCipher
```
### Example
```bash
-/perlweeklychallenge-club/challenge-096/ziameraj16/java$ javac ReverseWords.java
-/perlweeklychallenge-club/challenge-096/ziameraj16/java$ java ReverseWords
-Enter the string
- Perl and Raku are part of the same family
-Reversed string is: family same the of part are Raku and Perl
-/perlweeklychallenge-club/challenge-096/ziameraj16/java$
+/perlweeklychallenge-club/challenge-097/ziameraj16/java$ javac CaesarCipher.java
+/perlweeklychallenge-club/challenge-097/ziameraj16/java$ java CaesarCipher
+Enter a string
+THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
+Enter offset
+3
+Output: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD
```
-## Edit Distance
-To compile the code run
-```java
-javac EditDistance.java
-```
-To run
-```java
-java EditDistance
-```
-### Example
-```bash
-/perlweeklychallenge-club/challenge-096/ziameraj16/java$ vi EditDistance.java
-/perlweeklychallenge-club/challenge-096/ziameraj16/java$ javac EditDistance.java
-/perlweeklychallenge-club/challenge-096/ziameraj16/java$ java EditDistance
-Enter first word
-kitten
-Enter second word
-sitting
-Output: 3
-```
-
-# Kotlin Solution
-## Reverse Words
-```bash
-/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ kotlinc ReverseWordsKotlin.kt
-/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ kotlin ReverseWordsKotlin
-Enter the string
- Perl and Raku are part of the same family
-Reversed string is: family same the of part are Raku and Perl
-/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$
-```
-## Edit Distance
-```bash
-/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ kotlinc EditDistanceKotlin.kt
-/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$ kotlin EditDistanceKotlin
-Enter first word
-sunday
-Enter second word
-monday
-Output: 2
-/perlweeklychallenge-club/challenge-096/ziameraj16/kotlin$
-```
-
diff --git a/challenge-097/ziameraj16/java/CaesarCipher.java b/challenge-097/ziameraj16/java/CaesarCipher.java
new file mode 100644
index 0000000000..4769b1b44e
--- /dev/null
+++ b/challenge-097/ziameraj16/java/CaesarCipher.java
@@ -0,0 +1,33 @@
+import java.util.Scanner;
+
+public class CaesarCipher {
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("Enter a string");
+ String str = scanner.nextLine();
+ System.out.println("Enter offset");
+ int offset = scanner.nextInt();
+ System.out.println("Output: "+ caesarCipher(str, offset));
+ }
+
+ private static String caesarCipher(String input, int offset) {
+ StringBuilder sb = new StringBuilder();
+ for (char character : input.toCharArray()) {
+ if (character == ' ') {
+ sb.append(character);
+ continue;
+ }
+ int originalPosition = character - 'A';
+ int newPosition = (originalPosition - offset) % 26;
+ char newCharacter = (char) ('A' + newPosition);
+ if (newPosition < 0) {
+ newCharacter = (char) ('Z' + (newPosition + 1));
+ }
+
+ sb.append(newCharacter);
+ }
+ return sb.toString();
+ }
+}
+