import java.io.*; import java.util.*; public class Cipher { private double[] CorpusFreq; public Cipher (){ buildCorpusFreq("Shakespear.txt"); } public String encode(String input, int offset){ input = input.toLowerCase(); String output = ""; offset = offset%26; for(int i = 0; i < input.length(); i++){ char letter = input.charAt(i); if (letter > 'z' || letter < 'a') output = output + letter; else{ if (letter + offset > 'z') letter = (char)(letter - 26); output = output + (char)(letter+offset); } } return output; } public double[] getCorpusFreq(){ return CorpusFreq; } private void buildCorpusFreq (String filename){ CorpusFreq = new double[26]; for (int i = 0; i < 26; i++) CorpusFreq[i] = 0; try { Scanner sc = new Scanner (new File(filename)); while (sc.hasNext()) { String s = sc.nextLine().toLowerCase(); // do something to the line if you need to for (int i=0;i<s.length();i++) { char c = s.charAt(i); if (c >= 'a' && c <= 'z') CorpusFreq[(c-'a')]++; } } } catch (Exception e) {} } }