Java - 10 二維資料
一維陣列的每個元素又是一個一維陣列
靜態初始化
int[][] arr = {{0,0,0,0},
{1,1,1,1},
{2,2,2,2},
{3,3,3,3}};
public class TwoDimensionArray {
public static void main(String[] args) {
int[][] arr = {{0,0,0,0},{1,1,1,1},{2,2,2,2},{3,3,3,3}};
// 遍歷二維陣列的元素(一維陣列)
for(int i = 0; i<arr.length; i++){
// 對每個一維陣列遍歷
for(int j = 0; j<arr[i].length; j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println("");
}
}
}
動態初始化
int[][] a = new int[2][3];
arr[1][1] = 8;
int[][] arr; // 先宣告
arr = new int[2][3]; // 再開空間
列數不確定
int[][] arr = {{0},
{1,1},
{2,2,2},
{3,3,3,3}};
int[][] arr = new int[3][];
for(int i = 0; i<arr.length; i++){
// 如果沒有給一維陣列new,arr[i]就是null
arr[i] = new int[i+1];
}
楊輝三角
public class Yanghui{
public static void main(String[] args) {
int[][] arr = new int[6][];
for(int i = 0; i<arr.length; i++){
arr[i] = new int[i+1];
for(int j = 0; j<arr[i].length; j++){
if(j == 0 || j == arr[i].length-1) arr[i][j] = 1; // 一頭一尾是1
else arr[i][j] = arr[i-1][j-1]+arr[i-1][j]; // 上層兩個相加得到下層
}
}
// 輸出
for(int i = 0; i<arr.length; i++){
for(int j = 0; j<arr[i].length; j++){
System.out.print(arr[i][j] + "\t");
}
System.out.println("");
}
}
}