我有一段代码,我在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);
}
}
}
答案 0 :(得分:0)
您是否初始化了out
? System.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
。
请为其指定一个对象。
您可以使用
指定printWriterPrintWriter out = new PrintWriter(System.in);
或者您只是想在系统上使用打印 的System.out.println();
答案 5 :(得分:0)
如果只想打印'i',请使用System.out.print(i)。并且它不会给出null异常。