import java.io.*;
import java.util.*;
public class Cipher {
private double[] CorpusFreqs = new double[26];
public String encode(String s, int rot) {
String lower = s.toLowerCase();
String coded = "";
char c;
rot = rot%26;
for (int i=0; i<lower.length(); i++) {
c = lower.charAt(i);
if (c >= 97 && c <= 122) {
c = (char)(c + rot);
if (c > 122) {
c = (char)(c - 26);
}
else if (c < 97) {
c = (char)(c + 26);
}
}
coded = coded + c;
}
return coded;
}
public void buildCorpusFreq(String filename) {
try {
Scanner sc = new Scanner (new File(filename));
while (sc.hasNext()) {
String s = sc.nextLine();
s = s.toLowerCase();
for (int i=0; i<s.length(); i++) {
char c = s.charAt(i);
if (c >= 'a' && c <= 'z') {
CorpusFreqs[c-'a'] = CorpusFreqs[c-'a']+1;
}
}
}
} catch (Exception e) {}
}
public double getFreq(char c) {
return CorpusFreqs[c-'a'];
}
}