Java文件有时可以工作,有时不起作用

时间:2014-12-12 16:24:40

标签: java file sentiment-analysis

我正试图对句子进行情感分析。我正在阅读单词的正面和负面值,然后将结果显示给用户,因为输入的句子是正面的或负面的。然而,它适用于某些句子ang给其他一些例外,我真的很困惑。我的代码如下。所有实现都是通过这个类完成的。我该怎么做才能解决它?

我有类似的文件 无聊0.1 0.5 好0.6 0.4 。 。 。 当我写一本无聊的书 输出 这句话是否定的

当我写一辆可怕的汽车时,我得到了

一辆可怕的汽车

File does not contain this word.!

 Exception in thread "main" java.lang.NullPointerException

 at SentimentAnalysis.posOrNeg(SentimentAnalysis.java:86)

 at SentimentAnalysis.main(SentimentAnalysis.java:121)

我的文件内容是

0.8 0.8

漂亮0.3 0.01

车0.1 0.1

无聊0.01 0.02

预订0.2 0.18

宝宝0.8 0.6

可爱0.6 0.4

可怕的0.3 0.4

1 个答案:

答案 0 :(得分:3)

判断你的错误发生了什么:

Probability a = s.findProbabilities(words[k]);  
pos = pos*a.positive;   //ERROR LINE

如果anull

,那么您在该行上获得空引用异常的唯一原因是

在你的findProbabilities方法中,你做了一个while循环来进行某种搜索。我没有深入研究它,因为那不是重要的部分。重要的是,如果找不到匹配项,该方法可能会返回null

如果a.positive为空,则无法访问a。你必须处理null情况。它可以像

一样简单
if(a != null)
{
    pos = pos*a.positive;
    neg = neg*a.negative;
}
else
{
    // whatever you want to do if you can't find a
}