Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.85 KB | None | 0 0
  1. public class SpellcheckerCipher {
  2.  
  3.     static Scanner input = new Scanner(System.in);
  4.     static String[] inputWordsArr;
  5.    
  6.     public static void main(String[] args) {
  7.         System.out.printf("Enter Text: ");
  8.         String text = input.nextLine();
  9.  
  10.         text = text.replace(".", "");
  11.         inputWordsArr = text.split(" ");
  12.        
  13.         System.out.println(getShiftedLetters());
  14.     }
  15.     private static String getShiftedLetters() {
  16.         ArrayList<String> fileWordsArr = new ArrayList<String>();
  17.         try (BufferedReader br = new BufferedReader(new FileReader("C:/Users/Oskar/workspace/SpellcheckerCipher/latindictionary.txt"))) {
  18.             String line;
  19.             while ((line = br.readLine()) != null) {
  20.                 fileWordsArr.add(line);
  21.             }
  22.         }
  23.         catch (FileNotFoundException e) {
  24.             e.printStackTrace();
  25.         }
  26.         catch (IOException e) {
  27.             e.printStackTrace();
  28.         }
  29.        
  30.         String result = "";
  31.  
  32.         for(int i = 0; i < inputWordsArr.length; i++) {
  33.             for(int j = 0; j < inputWordsArr[i].length(); j++) {
  34.                 for(int k = 0; k < fileWordsArr.size(); k++) {
  35.                     if(!inputWordsArr[i].equals(fileWordsArr.get(k))) {
  36.                         if(shiftWord(inputWordsArr[i], j).equals(fileWordsArr.get(k))) {
  37.                             System.out.println(inputWordsArr[i] + " -> " + fileWordsArr.get(k) + " | " + inputWordsArr[i].charAt(j) + " -> " + shiftLetterBack(inputWordsArr[i].charAt(j)));
  38.                             result += shiftLetterBack(inputWordsArr[i].charAt(j));
  39.                             k = fileWordsArr.size();
  40.                         }
  41.                     }
  42.                 }
  43.             }
  44.         }
  45.         return result;
  46.     }
  47.     private static String shiftWord(String word, int index) {
  48.         char c = shiftLetterBack(word.charAt(index));
  49.         String[] wordArr = word.split("");
  50.         wordArr[index] = String.valueOf(c);
  51.         return String.join("", wordArr);
  52.     }
  53.     private static char shiftLetterBack(char c) {
  54.         if(Character.isLowerCase(c)) {
  55.             return (char) (((c - 'a' - 1) % 26) + 'a');
  56.         }
  57.         return (char) (((c - 'A' - 1) % 26) + 'A');
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement