-4

我在这段代码中有一个异常,我无法找出问题所在。此代码在没有 while 循环的情况下运行,但在使用 WHILE 循环时会给出异常

 ProbabilityQueryTutorial.main(ProbabilityQueryTutorial.java:47)
4

1 回答 1

1

好吧,NullPointerException 在这一行中被抛出:

at ProbabilityQueryTutorial.main(ProbabilityQueryTutorial.java:47)

我不确定它到底是哪一行(也许你可以指出来?)。但我注意到其他一些可能会影响你的事情:

变量名

你的变量名是大写字母。通常不鼓励这样做,因为只有class名称应该有大写字母。例子:

String File="C:\\testing.txt";
BufferedReader br = new BufferedReader(new FileReader(File));

File文件对象的 Java 类,但您将其用作字符串。

读取线()

sCurrentLine = br.readLine();
while ((sCurrentLine = br.readLine()) !=null)

在 while 条件下,您已经将 的返回值分配给br.readLine()变量sCurrentLine。但是在进入 while 循环之前你也可以这样做。意思是,如果你跳过文件的第一行,没关系。但是如果你需要第一行,你应该在 while 循环之前删除分配,并保持 while 原样。

空实例化

当您不需要while循环外的变量(例如变量String sCurrentLine)时,您无需在 while 循环之前null声明它并用. 只需将其移动到 while 内,并在第一次需要时声明它。(这样你就可以避免null变量出现)。

现在,如果您仍然遇到错误,也许我们可以进一步缩小搜索范围。只需告诉我们在哪一行抛出异常。

于 2013-04-14T14:28:42.817 回答