我嘗試1D轉換爲二維數組,但我不斷收到java.lang.ArrayIndexOutOfBoundsException
,我曾嘗試一切我能找到的計算器或互聯網,但我不明白爲什麼我有這個問題?轉換1D到2D java.lang.ArrayIndexOutOfBoundsException
public class Arrayto2DArray {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int[] a = {0,1, 6, 83, 4, 5, 12, 7};
int[][] b = new int[4][4];
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b[i].length; j++) {
b[i][j]=0;
System.out.print(b[i][j]);
}
System.out.println();
}
System.out.println("--------------------------");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < b[i].length; j++) {
try{
b[i][j] = a[i+j*4];
}catch(Exception e){
e.printStackTrace();
System.out.println(e);
}
}
}
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
System.out.print(b[i][j]);
}
System.out.println();
}
}
}
我種的,知道爲什麼我得到這個錯誤,因爲這條線
b[i][j] = a[i+j*4];
的,但我不能想出比這更好的任何公式。
改變你使用不同的代碼???當我複製它並試圖從問題運行代碼時,我從'b [i] .length'(第一個內部循環)得到了'NullPointerException'。我甚至在運行程序之前就預料到了這一點,因爲'new int [4] []'創建與下面的代碼相同的數組:'new int [] [] {null,null,null,null}' – fabian