Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SpellcheckerCipher {
- static Scanner input = new Scanner(System.in);
- static String[] inputWordsArr;
- public static void main(String[] args) {
- System.out.printf("Enter Text: ");
- String text = input.nextLine();
- text = text.replace(".", "");
- inputWordsArr = text.split(" ");
- System.out.println(getShiftedLetters());
- }
- private static String getShiftedLetters() {
- ArrayList<String> fileWordsArr = new ArrayList<String>();
- try (BufferedReader br = new BufferedReader(new FileReader("C:/Users/Oskar/workspace/SpellcheckerCipher/latindictionary.txt"))) {
- String line;
- while ((line = br.readLine()) != null) {
- fileWordsArr.add(line);
- }
- }
- catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- catch (IOException e) {
- e.printStackTrace();
- }
- String result = "";
- for(int i = 0; i < inputWordsArr.length; i++) {
- for(int j = 0; j < inputWordsArr[i].length(); j++) {
- for(int k = 0; k < fileWordsArr.size(); k++) {
- if(!inputWordsArr[i].equals(fileWordsArr.get(k))) {
- if(shiftWord(inputWordsArr[i], j).equals(fileWordsArr.get(k))) {
- System.out.println(inputWordsArr[i] + " -> " + fileWordsArr.get(k) + " | " + inputWordsArr[i].charAt(j) + " -> " + shiftLetterBack(inputWordsArr[i].charAt(j)));
- result += shiftLetterBack(inputWordsArr[i].charAt(j));
- k = fileWordsArr.size();
- }
- }
- }
- }
- }
- return result;
- }
- private static String shiftWord(String word, int index) {
- char c = shiftLetterBack(word.charAt(index));
- String[] wordArr = word.split("");
- wordArr[index] = String.valueOf(c);
- return String.join("", wordArr);
- }
- private static char shiftLetterBack(char c) {
- if(Character.isLowerCase(c)) {
- return (char) (((c - 'a' - 1) % 26) + 'a');
- }
- return (char) (((c - 'A' - 1) % 26) + 'A');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement