public class CeasarCipher {
public static final int ALPHABETS_SIZE = 26;
public static String compute(String message, int k) {
String result = "";
for(int i=0;i<message.length();i++){
result = result + encryptChar(message.charAt(i),k);
}
return result;
}
public static String shift(int k, char c, char base){
return String.valueOf((char) ((((c + k) - base) % ALPHABETS_SIZE) + base));
}
private static String encryptChar(char c,int k) {
if (isLowerCase(c)) {
return shift(k, c, 'a');
}
if(isUpperCase(c))
{
return shift(k, c, 'A');
}
else
{
return c+ "" ;
}
}
private static boolean isLowerCase(char c) {
return c <= 'z' && c >= 'a' ;
}
private static boolean isUpperCase(char c) {
return c <= 'Z' && c >= 'A' ;
}
}