From 93b91d9a6c931ba19e6cc004b59234cba3621a08 Mon Sep 17 00:00:00 2001 From: Javanshir Date: Fri, 26 Sep 2025 17:52:35 +0300 Subject: [PATCH] the problem is solved --- Cipher.java | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/Cipher.java b/Cipher.java index 7527c5b..764a0f4 100644 --- a/Cipher.java +++ b/Cipher.java @@ -1,6 +1,7 @@ // This class is used for encrypting or decrypting strings using character mapping -public class Cipher -{ + +public class Cipher { + // Strings for keeping the alphabets, one for the original letters and the other for the encrypted ones // encryption involves mapping from original to cipher, for each letter we locate the character in the // original string and replace it with the cipher alphabet letter at the same position @@ -8,26 +9,31 @@ public class Cipher public static final String CIPHER_ALPHABET = "dfxyhrklvwuasgimnojpqetbcz"; public String encrypt(String inputString) { - + // output string will be collected in this variable, one char at a time String outputString = ""; - - // for all chars in the input string - for (int i = 0; i < inputString.length(); i++) - { + // for all chars in the input string + for (int i = 0; i < inputString.length(); i++) { + char x = inputString.charAt(i); + outputString += replaceChar(x, true); } return outputString; } public String decrypt(String inputString) { - + // output string will be collected in this variable, one char at a time String outputString = ""; - - replaceChar('a',true); - + + for (int i = 0; i < inputString.length(); i++) { + char y = inputString.charAt(i); + outputString += replaceChar(y, true); + } + + replaceChar('a', true); + return outputString; } @@ -37,25 +43,22 @@ public String decrypt(String inputString) { // works only when the input char is included in our alphabet variables // should not replace symbols or upper case letters, return input char in those cases private char replaceChar(char inputChar, boolean isEncrypt) { - - if(isEncrypt) { - for (int i = 0; i < ORIGINAL_ALPHABET.length(); i++) - { - if(ORIGINAL_ALPHABET.charAt(i) == inputChar) { + if (isEncrypt) { + for (int i = 0; i < ORIGINAL_ALPHABET.length(); i++) { + if (ORIGINAL_ALPHABET.charAt(i) == inputChar) { + return CIPHER_ALPHABET.charAt(i); } } - } - else { - for (int i = 0; i < CIPHER_ALPHABET.length(); i++) - { - if(CIPHER_ALPHABET.charAt(i) == inputChar) { + } else { + for (int i = 0; i < CIPHER_ALPHABET.length(); i++) { + if (CIPHER_ALPHABET.charAt(i) == inputChar) { return ORIGINAL_ALPHABET.charAt(i); } } } - + // if we did not find it in the alphabet, then return the original char return inputChar; } -} \ No newline at end of file +}