[英]null pointer exception just after declaring variable
我有一段代码,我在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);
}
}
}
你初始化out
吗? System.out.print()
是常规命令...简单的out
可能会使它感到困惑。
代替
out.print(i);
放:
System.out.print(i);
行out.print(i)应该是System.out.println(i);
出什么out
??
您应该像PrintStream out = System.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);
}
您正在尝试打印i
,而那时您正在获取NullPointerException
。 当您在不引用任何对象的引用变量上调用方法时,会发生NullPointerException
。 因此,在您的情况下,显然out
变量为null
。
请为其分配一个对象。
您可以通过使用分配一个printWriter
PrintWriter out = new PrintWriter(System.in);
或者,如果您只是想使用System.out.println()在系统上进行打印;
如果您只想打印“ i”,请使用System.out.print(i)。 并且它不给出空异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.