我在这段代码中有一个异常,我无法找出问题。这段代码没有while循环,但是有了while循环,它会给出异常
ProbabilityQueryTutorial.main(ProbabilityQueryTutorial.java:47)
NullPointerException
被扔到这一行:
at ProbabilityQueryTutorial.main(ProbabilityQueryTutorial.java:47)
我不确定它到底是哪一行(也许你能指出来?)但我注意到其他一些事情可能会妨碍你:
变量名
你的变量名是大写字母。这通常是不鼓励的,因为只有class
名称应该有大写字母。例子:
String File="C:\testing.txt";
BufferedReader br = new BufferedReader(new FileReader(File));
File
是一个Java类的文件对象,但你使用它作为字符串。
readLine ()
sCurrentLine = br.readLine();
while ((sCurrentLine = br.readLine()) !=null)
在while条件中,您已经将br.readLine()
的返回值分配给变量sCurrentLine
。但是在进入while循环之前也要执行相同的操作。这意味着,如果希望跳过文件的第一行,那是可以的。但是,如果您需要第一行,则应该删除while循环之前的赋值,并保持while循环的原样。
当你不需要while
循环之外的变量时(例如变量String sCurrentLine
),那么你就不需要在while循环的之前声明它并使用null
实例化它。只需将它移动到while中,并在第一次需要时声明它。(这样就可以避免到处都是null
变量)。
现在如果你仍然有错误,也许我们可以进一步缩小搜索范围。