Сравнение слова со словом в текстовом файле и метод омонима - PullRequest
0 голосов
/ 28 марта 2020

У меня есть программа для проверки, являются ли два введенных пользователем слова омонимами или нет.

В коде метод chkFound предназначен для проверки, найдено ли слово в файле homs.txt. И chkHoms для проверки, если это омоним или нет.

Каким должен быть метод для chkFound и chkHom?


      String[] wArr = new String[50];
      String[] pArr = new String[50];
      String pcPathName="C:\\Users\\HP\\Desktop\\Comp";
      String fileName="homs.txt";
      readFile(fileName,wArr,pArr);// method loads array
      //readFile(fileName,wArr,pArr);
    //main control loop
      while(true) {
      //use input dialog to get 2 words from user
      String w1=JOptionPane.showInputDialog(null,"Enter First word: ");
      String w2=JOptionPane.showInputDialog(null,"Enter Second word: ");
      //check each word if in dictionary
      int w1ix = chkFound(w1, wArr);
      boolean isFound1 =(w1ix>=0);
      System.out.println("\n"+w1 + " is found: " + isFound1);

      int w2ix = chkFound(w2, wArr);
      boolean isFound2 =(w2ix>=0);
      System.out.println("\n"+w2 + " is found: " + isFound2); 

      if (w1ix>=0 && w2ix>=0) msg = "\nboth words " + w1 + " and " + w2 + "are in the dictionary";
      else {msg = "one or more words not in dictionary: ";
         if (isFound1) msg += w1 +" "; //identify which words
         if (isFound2) msg += w2 +" ";}
      System.out.println(msg);
      boolean isHom = chkHom(w1ix, w2ix, pArr);
      }//end loop
   }//end main

public static void readFile(String xName, String[] wArr, String[] pArr) throws Exception {
      // create a file instance
      File fName=new File(xName);
      //create scanner for file
      Scanner input=new Scanner(new File("homs.txt"));
      //read data from file
      int i=0,siz=wArr.length;
      while(input.hasNext())  {
         String word=input.next();
         String pron=input.nextLine(); //clear cr/if
         wArr[i]=word;
         pArr[i]=pron;
         i++;
         if($DEBUG) System.out.println(i + spc + word + "|" + pron);
         if(i>=siz) { 
            if($DEBUG) System.out.println("array overflow");
            break;}
            }

          input.close();
          return;
          }//end Readfile 

   static int chkFound(String w1, String[] wArr) {
   return 0;
   }//end chkFound

   static boolean chkHom(int x1, int x2, String[] pArr) {
   return true;
   }//end chkHom
}//end class

Файл txt содержит два слова в каждой строке, разделенных запятой. Эти слова являются парами омонимов. TXT-файл действует как словарь, из которого сравниваются слова. введите описание изображения здесь

...