0

I have a piece of code, I declare the variable i in a for loop, right after that I tried to print i and it gives me a null pointer exception. I really can't figure why, I just declared the variable..

 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);

            }
        }
    }
4

5 回答 5

0

如果它只是你想要打印的“i”,那么使用 System.out.print(i)。并且它不会给出空异常。

于 2014-09-10T20:09:47.000 回答
0

您正在尝试打印i,而您正在获得NullPointerException. NullPointerException当您在不引用任何对象的引用变量上调用方法时发生。所以在你的情况下,显然out变量是null.

请为其分配一个对象。

您可以使用分配一个 printWriter

PrintWriter out = new PrintWriter(System.in);

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

于 2013-06-13T15:09:57.540 回答
0

行 out.print(i) 应该是 System.out.println(i);

于 2013-06-13T15:08:12.377 回答
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);
   }
于 2013-06-13T15:08:22.923 回答
0

你初始化了out吗? System.out.print()是正常的命令...它可能会被简单的out.

于 2013-06-13T15:07:10.730 回答