diff --git a/Cipher.java b/Cipher.java index 7527c5b..fe6526d 100644 --- a/Cipher.java +++ b/Cipher.java @@ -15,7 +15,7 @@ public String encrypt(String inputString) { // for all chars in the input string for (int i = 0; i < inputString.length(); i++) { - + outputString += replaceChar(inputString.charAt(i), true); } return outputString; @@ -25,8 +25,10 @@ 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++){ + outputString += replaceChar(inputString.charAt(i), false); + } return outputString; } @@ -37,23 +39,24 @@ 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 (Character.isLowerCase(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) { - return ORIGINAL_ALPHABET.charAt(i); + 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;