2013-07-20 53 views
0

我使用數組是這樣的:2D整數數組不能正常運行Java的Android

int selIntIndex = Integer.valueOf(selStringIndex); 

     int[][] PreIntVal = new int[][] 


       { 
       { selIntIndex, 
         2 }, 
       { 
         selIntIndex, 
         3 }, 
       { 
         selIntIndex, 
         1 } }; 

     PreIntVal[3][0] = PreIntVal[4][0] = 3; 

     android.util.Log.d("StripedLog", 
       Arrays.toString(Values.PreStringVal[3])); 

但不知何故,該代碼永遠不會到達「日誌」的聲明。問題出現在這行:PreIntVal [3] [0] = PreIntVal [4] [0] = 3;因爲如果我將它評論出來,它就會起作用。

有什麼建議嗎?

回答

3

此特定行PreIntVal[3][0] = PreIntVal[4][0]導致ArrayIndexOutOfBoundsException。看看已定義的陣列尺寸:new int[][] { { selIntIndex, 2 }, { selIntIndex, 3 }, { selIntIndex, 1 } };。看來你很困惑如何使用索引訪問數組元素,請通過Oracle tutorial

該數組的有效索引是[0,1,2] [0,1]

觀察下圖以瞭解索引如何映射。

enter image description here