You are viewing a single comment's thread. Return to all comments →
static Map<Character, Integer> smallcharintmap = new HashMap<>(); static Map<Integer, Character> smallintcharmap = new HashMap<>(); static Map<Character, Integer> capscharintmap = new HashMap<>(); static Map<Integer, Character> capsintcharmap = new HashMap<>(); static { char smallstart = 'a'; char capstart = 'A'; for(int i=1;i<=26;i++) { smallcharintmap.put(smallstart, i); smallintcharmap.put(i, smallstart); smallstart++; capscharintmap.put(capstart, i); capsintcharmap.put(i, capstart); capstart++; } } public static String caesarCipher(String str, int k) { StringBuilder resultBuilder = new StringBuilder(); for(int i = 0; i < str.length(); i++) { Character ch = str.charAt(i); if(Character.isAlphabetic(ch)) { if(Character.isLowerCase(ch)) { int key = (smallcharintmap.get(ch) + k)%26; resultBuilder.append(smallintcharmap.get(key == 0 ? 26 : key)); } else if(Character.isUpperCase(ch)) { int key = (capscharintmap.get(ch) + k)%26; resultBuilder.append(capsintcharmap.get(key == 0? 26 : key)); } } else { resultBuilder.append(ch); } } return resultBuilder.toString(); }
Seems like cookies are disabled on this browser, please enable them to open this website
Caesar Cipher
You are viewing a single comment's thread. Return to all comments →