声明变量后的空指针异常

时间:2013-06-13 15:04:45

标签: java variables nullpointerexception

我有一段代码,我在for循环中声明了变量i,之后我尝试打印i并且它给了我一个空指针异常。我真的无法理解为什么,我只是声明了变量..

 public void normalization(){
        for(int i = 0; i < numberOfVariables; i++){
            out.print(i);
            double min = unitRow.getMin(i);
            double max = unitRow.getMax(i);

            for(int j = 0; j < numberOfRecords; j++){
                double normalizedValue = normalizeValue(unitRow.unitArray[j].numberRow.numberArray[i],min,max);
                unitRow.unitArray[j].numberRow.update(i, normalizedValue);

            }
        }
    }

6 个答案:

答案 0 :(得分:0)

您是否初始化了outSystem.out.print()是正常的命令......它可能会被简单的out弄糊涂。

答案 1 :(得分:0)

而不是

out.print(i);

放:

System.out.print(i);

答案 2 :(得分:0)

out.print(i)行应为System.out.println(i);

答案 3 :(得分:0)

什么是out

您应该将其指定为PrintStream out = System.out;

或仅使用System.out.print(i);

for(int i = 0; i < numberOfVariables; i++){
            System.out.print(i);
            double min = unitRow.getMin(i);
            double max = unitRow.getMax(i);
   }

答案 4 :(得分:0)

您正在尝试打印i,那时您将获得NullPointerException。 当您在不引用任何对象的引用变量上调用方法时,会发生NullPointerException。因此,在您的情况下,out变量显然是null

请为其指定一个对象。

您可以使用

指定printWriter
PrintWriter out = new PrintWriter(System.in);

或者您只是想在系统上使用打印     的System.out.println();

答案 5 :(得分:0)

如果只想打印'i',请使用System.out.print(i)。并且它不会给出null异常。