代码的错误更正

时间:2011-08-10 10:15:43

标签: java

int i = 0;
Float[] arr =null;
Float arr2 [] = null;
Iterator itr = minMaxVal.keySet().iterator();
while(itr.hasNext()){
    arr = minMaxVal.get(i);
    arr2[i] = (float) arr[0];
    i++;
}
java.util.Arrays.sort(arr2);
return arr2[0];

它在arr2[i] = (float) arr[0];

处抛出NullPointerException

如何克服这一点。提前谢谢....

2 个答案:

答案 0 :(得分:1)

抛出NullPointerException,因为arrarr2的值为null。对于初学者,您必须初始化数组arrarr0

float[] arr = new float[n];
float[] arr2 = new float[m];

其中n和m是每个数组的相应大小或

float[] arr = {1f, 2f, 3f, ...};
float[] arr2 = {1f, 2f, 3f, ...};

其中1f, 2f, 3f应替换为数组的实际值。

字母fF可用于表示该数字为float而非int。此外,1.3ffloat1.3double

答案 1 :(得分:1)

arr中的所有值均为空。将空值转换为原始浮点数显然会失败。如在语句arr2[i] = (float) arr[0];中首先初始化数组arr然后执行赋值