2011-08-10 51 views
0
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];糾錯的代碼

的NulPointException如何克服這一點。預先感謝您......

+1

'float temp =(float)null;'throws NulPointException –

+0

我已經在代碼中評論過它!!!感謝提醒! –

+0

你確定NullPointerException在該行被拋出。 'flaot temp =(Float)null;'應該拋出一個NPE以及一個空引用不能被轉換爲一個原始的浮點值。 –

回答

1

arr中的所有值都爲空。將空值轉換爲原始的float值顯然會失敗。如語句arr2[i] = (float) arr[0];首先初始化數組arr,然後執行賦值

1

拋出NullPointerException,因爲arrarr2的值爲空。首先,你必須初始化陣列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.3ffloat,但1.3double