Java文件有时工作,有时不工作
我试图对一个句子进行情感分析。我正在阅读word的正负值,然后在输入的句子是正数或负数时向用户显示结果。然而,它对一些句子有效,对另一些句子例外,我真的很困惑。我的代码如下。所有的实现都是通过这个类完成的。我该怎么解决它 我有类似的文件 钻孔0.1 0.5 好的0.60.4 . . . 当我写一本无聊的书时 输出 这个句子是否定的 当我写一部糟糕的汽车时,我会 糟糕的汽车Java文件有时工作,有时不工作,java,file,sentiment-analysis,Java,File,Sentiment Analysis,我试图对一个句子进行情感分析。我正在阅读word的正负值,然后在输入的句子是正数或负数时向用户显示结果。然而,它对一些句子有效,对另一些句子例外,我真的很困惑。我的代码如下。所有的实现都是通过这个类完成的。我该怎么解决它 我有类似的文件 钻孔0.1 0.5 好的0.60.4 . . . 当我写一本无聊的书时 输出 这个句子是否定的 当我写一部糟糕的汽车时,我会 糟糕的汽车 File does not contain this word.! Exception in thread "main"
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)
我的文件的内容是
a 0.80.8
美丽的0.30.01
汽车0.10.1
钻孔0.01 0.02
第0.20.18册
婴儿0.80.6
可爱的0.60.4
糟糕的0.3 0.4从错误发生的情况来看:
Probability a = s.findProbabilities(words[k]);
pos = pos*a.positive; //ERROR LINE
在该行中出现空引用异常的唯一原因是a
为null
在findpropabilities
方法中,执行while循环,该循环执行某种搜索。我没有深入研究它,因为那不是重要的部分。重要的一点是,如果没有找到匹配项,该方法可能返回null
如果a
为空,则无法访问a.positive
。您必须处理空案例。它可以是简单到
if(a != null)
{
pos = pos*a.positive;
neg = neg*a.negative;
}
else
{
// whatever you want to do if you can't find a
}
根据您的错误发生的情况判断:
Probability a = s.findProbabilities(words[k]);
pos = pos*a.positive; //ERROR LINE
在该行中出现空引用异常的唯一原因是a
为null
在findpropabilities
方法中,执行while循环,该循环执行某种搜索。我没有深入研究它,因为那不是重要的部分。重要的一点是,如果没有找到匹配项,该方法可能返回null
如果a
为空,则无法访问a.positive
。您必须处理空案例。它可以是简单到
if(a != null)
{
pos = pos*a.positive;
neg = neg*a.negative;
}
else
{
// whatever you want to do if you can't find a
}
根据您的错误发生的情况判断:
Probability a = s.findProbabilities(words[k]);
pos = pos*a.positive; //ERROR LINE
在该行中出现空引用异常的唯一原因是a
为null
在findpropabilities
方法中,执行while循环,该循环执行某种搜索。我没有深入研究它,因为那不是重要的部分。重要的一点是,如果没有找到匹配项,该方法可能返回null
如果a
为空,则无法访问a.positive
。您必须处理空案例。它可以是简单到
if(a != null)
{
pos = pos*a.positive;
neg = neg*a.negative;
}
else
{
// whatever you want to do if you can't find a
}
根据您的错误发生的情况判断:
Probability a = s.findProbabilities(words[k]);
pos = pos*a.positive; //ERROR LINE
在该行中出现空引用异常的唯一原因是a
为null
在findpropabilities
方法中,执行while循环,该循环执行某种搜索。我没有深入研究它,因为那不是重要的部分。重要的一点是,如果没有找到匹配项,该方法可能返回null
如果a
为空,则无法访问a.positive
。您必须处理空案例。它可以是简单到
if(a != null)
{
pos = pos*a.positive;
neg = neg*a.negative;
}
else
{
// whatever you want to do if you can't find a
}
您能否向我们提供您得到的例外情况?另外,请告诉我们输入文件的外观,而不是描述它,您可以给我们一个itI的片段,我打赌是
ArrayIndexOutOfBoundsException
,您试图盲目访问parts[0]、parts[1]、
和parts[2]
没有验证您是否首先将该行拆分为三部分。@RajaAnbazhagan我添加了一个编辑。您为什么要删除该代码?您能否向我们提供您得到的例外情况?另外,请告诉我们输入文件的外观,而不是描述它,你可以给我们一个itI的片段,我赌ArrayIndexOutOfBoundsException
你试图盲目访问parts[0]、parts[1]、
和parts[2]
没有验证您是否首先将该行拆分为三部分。@RajaAnbazhagan我添加了一个编辑。您为什么要删除该代码?您能否向我们提供您得到的例外情况?另外,请告诉我们输入文件的外观,而不是描述它,你可以给我们一个itI的片段,我赌ArrayIndexOutOfBoundsException
你试图盲目访问parts[0]、parts[1]、
和parts[2]
没有验证您是否首先将该行拆分为三部分。@RajaAnbazhagan我添加了一个编辑。您为什么要删除该代码?您能否向我们提供您得到的例外情况?另外,请告诉我们输入文件的外观,而不是描述它,您可以给我们一个itI的片段,我赌ArrayIndexOutOfBoundsException
,您试图盲目访问parts[0]、parts[1]、
和parts[2]
,但没有验证您是否确实首先将行拆分为三部分。@RajaAnbazhagan我添加了一个编辑。您为什么要删除代码?