2015-10-27 8 views
1

Я пытаюсь использовать библиотеку JWNL. Я получаю ошибку «int не может быть разыменован». Код ниже:Помогите мне с Java WordNet Library

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           

     // TODO add your handling code here: 
     try{ 
     JWNL.initialize(new FileInputStream("D:\\jwnl14-rc2\\jwnl14-rc2\\config\\file_properties.xml")); 
     Dictionary dict = Dictionary.getInstance(); 
     System.out.println("Allah Akber"); 
     IndexWord word=dict.lookupIndexWord(POS.VERB,"run");// Here is the error int cannot be dereferenced 
     Synset[] senses = word.getSenses(); 
     for (int i = 0; i < senses.length; i++) { 
      System.out.println(word + ": " + senses[i].getGloss()); 
     } 
     } catch(Exception ex){ System.out.println("Error during the initialization"+ " "+ex.getMessage());} 


} 

Прошу вас, чтобы решить эту проблему.

ответ

0

Я предполагаю, что это ошибка компиляции. Если это произошло здесь:

 IndexWord word=dict.lookupIndexWord(POS.VERB,"run"); 

затем либо dict или POS имеет объявленный тип int и разыменовать (т.е. оператор .) не имеет смысла.

Понятно, что dict имеет тип Dictionary. Но POS ...? Я не вижу его декларации. Это не в коде, который вы нам показали.

+0

Тогда. Как решить эту проблему. Пожалуйста, совет – user3526464

+0

Я не могу сказать ... не видя, как объявлены 'dict' и' POS'. –

+0

Как я могу узнать, как объявлены dict и pos? – user3526464

0
import static net.didion.jwnl.data.POS.VERB; 

IndexWord word = dict.lookupIndexWord(VERB,"run"); 
+2

Не могли бы вы добавить примечание и объяснить, как это устранит проблему? – andrewsi

+0

Хотя этот код может ответить на вопрос, было бы лучше объяснить, как он решает проблему, не вводя других и почему ее использовать. Ответы только на код не полезны в долгосрочной перспективе. – JAL