Cannot make a static reference to the non-static field :
代码
public class GetWordpairSimilarity {
public String dir = "C:/Program Files/WordNet";
public JWS ws = new JWS(dir, "3.0");
public List<SynonymsStruct> JiangAndConrathSimi(List<SynonymsStruct> listsyn){
JiangAndConrath jcn = ws.getJiangAndConrath();
System.out.println("Jiang & Conrath\n");
for(int i = 0;i< listsyn.size();i++)//max
{
listsyn.get(i).similarityscore = jcn.max(listsyn.get(i).keyWord, listsyn.get(i).wordSynonyms, "n");
System.out.println("\nhighest score\t=\t" + jcn.max(listsyn.get(i).keyWord, listsyn.get(i).wordSynonyms, "n") + "\n");
}
return listsyn;
}
public static void main(String args[])
{
GetWordpairSimilarity getsim = new GetWordpairSimilarity();
String objword1 = "use";
GetSynonyms getSyn = new GetSynonyms();
List<SynonymsStruct> result1 =getSyn.getSynonyms(ws.getDictionary(), objword1);
System.out.println("***********result************");
getsim.JiangAndConrathSimi(result1);
for(int i =0;i<result1.size();i++)
{
System.out.print(result1.get(i).keyWord+" ");
System.out.print(result1.get(i).wordSynonyms+" ");
System.out.println(result1.get(i).similarityscore);
}
}
}
主函数中是public static ,静态函数不能引用非静态的变量ws,需要在ws 前面加static。
http://blog.sina.com.cn/s/blog_4ef2568301014uvl.html