Caesar Cipher

  • + 0 comments

    Java Solution

     String alpha = "abcdefghijklmnopqrstuvwxyz";
            while(k > 26){
                k -= 26;
            }
            String route = alpha.substring(k, 26).concat(alpha.substring(0,k));
            Map<String,Integer> ls = new HashMap();
            Map<Integer,String> ls2 = new HashMap();
    
            int cout =  1;
            for(char c: alpha.toCharArray()){
                ls.put(String.valueOf(c),cout);
                ls2.put(cout, String.valueOf(route.charAt(cout-1)));
                
                System.out.println(String.valueOf(route.charAt(cout-1)));
                cout ++;
            }
            
            StringBuilder f = new StringBuilder();
            for(char c: s.toCharArray()){
                String cs = String.valueOf(c);
                if(alpha.contains(cs)){
                    f.append(ls2.get(ls.get(cs)));
                } else if(alpha.contains(cs.toLowerCase())) {
                    f.append(ls2.get(ls.get(cs.toLowerCase())).toUpperCase());
                } else {
                    f.append(cs);
                }
            }
            
            return f.toString();