diff options
| author | ziameraj16 <ziameraj16@gmail.com> | 2021-01-28 09:01:13 +0000 |
|---|---|---|
| committer | ziameraj16 <ziameraj16@gmail.com> | 2021-01-28 09:01:13 +0000 |
| commit | 4f925ead2d05cb4402eff2e13aa597009946bc84 (patch) | |
| tree | 5a1b818878c9b4fb0358f4fab49ab4896b246dbf /challenge-097 | |
| parent | c0de18631e718a0e54727b99c38ea5337a26b4fc (diff) | |
| download | perlweeklychallenge-club-4f925ead2d05cb4402eff2e13aa597009946bc84.tar.gz perlweeklychallenge-club-4f925ead2d05cb4402eff2e13aa597009946bc84.tar.bz2 perlweeklychallenge-club-4f925ead2d05cb4402eff2e13aa597009946bc84.zip | |
Java solution for Caesar Cipher
Diffstat (limited to 'challenge-097')
| -rw-r--r-- | challenge-097/ziameraj16/README.md | 62 | ||||
| -rw-r--r-- | challenge-097/ziameraj16/java/CaesarCipher.java | 33 |
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(); + } +} + |
