import java.util.*;
import java.io.*;
public class Cipher {
double[] CorpusFreqs;
public boolean isLetter(char c) {
return ((c>='a' && c<='z') || (c>='A' && c<='Z'));
}
public String caesarShift(String s, int n) {
int offset = n%26;
String r = "";
char c;
for (int i=0; i<s.length(); i++) {
c = s.charAt(i);
if (isLetter(c)) {
if (isLetter((char)(c+offset)))
r+=(char)(c+offset);
else
r+=(char)(c+offset-26);
} else {
r+=c;
}
}
return r;
}
public void buildCorpusFreq(String filename){
try {
Scanner sc = new Scanner(new File(filename));
CorpusFreqs = new double[26];
while(sc.hasNext()){
String s = sc.nextLine();
s = s.toLowerCase();
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
if (isLetter(c)){
CorpusFreqs[c-'a']++;
}
}
}
} catch (Exception e) {
System.out.println(e);
}
int sum = 0;
for(int i=0; i<CorpusFreqs.length; i++) {
sum+=CorpusFreqs[i];
}
for(int i=0; i<CorpusFreqs.length; i++) {
CorpusFreqs[i]=CorpusFreqs[i]/sum;
}
System.out.println(Arrays.toString(CorpusFreqs));
}
}