Java - 10 二維資料

wajiez發表於2024-10-06

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;
Java - 10 二維資料
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("");
		}
	}
}

相關文章