iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0

多維陣列就像巢狀迴圈一樣,都是在宣告陣列中再多加一組陣列,多維陣列的概念就是陣列一層一層的往上疊加,形成了複雜而有序的多維陣列。

多維陣列是由多個一維陣列或是二維陣列組成,常用來表示矩陣或三維空間,其中,二維陣列是最常見的例子,可以視作行列交錯的表格,多維陣列的優勢在於能更高效地處理複雜的結構,因此,隨著陣列維度的增加,其結構的複雜度也隨之大幅提升,使得數據的組織與操作更加靈活多變。

多維陣列的宣告方法,和一、二維陣列是一樣的,如果不了解陣列的宣告方式,可以去看上一篇Java的二維陣列內有介紹宣告方式。

舉例說明:
例題1.
利用三維陣列,計算出陣列中的最小值,可以這樣撰寫程式碼:

	public static void main(String[] args) {
		
	    int [] [] [] n = {{{3,6,9},{11,21,31},{26,16,46}},
	                   {{2,5,8},{22,24,27},{98,74,65}}};
	   
	   int i,j,k,min = n[0][0][0];
	   
	   for (i = 0;i < n.length;i++){
	       for (j = 0;j < n[i].length;j++){
	        for (k = 0;k < n[i][j].length ;k++ )
	            if (min > n[i][j][k])
	            min = n[i][j][k];
	        
	       }
	   }
	   System.out.println("陣列中的最小值:" + min); 
	}

執行結果:
https://ithelp.ithome.com.tw/upload/images/20240921/201688056fD9xikAzz.png
例題2.
利用多維陣列,計算出馬場三種馬的個數以及馬場內馬的總數,可以這樣撰寫程式碼:


	public static void main(String[] args) {
		
		int i = 0 ;
	    int j = 0 ;
	    int k = 0 ;
	    int sum = 0;
	    int total = 0;
	    
	    int [] [] [] n = {{{3,6,9},{11,21,31},{26,16,46}},
	                   {{1,5,7},{32,44,57},{28,34,52}},
	                   {{4,2,10},{25,73,69},{20,30,50}}};
	                   
	   int [] h = new int[n.length];
	   
	   for (i = 0;i < n.length;i++){
	       sum = 0;
	       for (j = 0;j < n[i].length;j++){
	        for (k = 0;k < n[i][j].length ;k++ ){
	            sum += n[i][j][k];
	       }
	   }
	        h[i] = sum;
	        total +=sum;
	   }
	    System.out.println("黑馬的總數: " + h[0]);
        System.out.println("白馬的總數: " + h[1]);
        System.out.println("棕色馬的總數: " + h[2]);
	   System.out.println("馬場內的馬的總數:" + total); 
	}
}

執行結果:
https://ithelp.ithome.com.tw/upload/images/20240921/20168805LOMAXijWPN.png
整體來說,多維陣列是一種功能強大且便捷的工具,尤其適合複雜數據的存儲與操作。

以上是對多維陣列的簡單的介紹,並附上簡單的範例。
Java的多維陣列就到此處介紹完畢
明天開始帶你們了解Android Studio 開發環境與應用
下一篇開始教你如何安裝Android Studio 開發環境


上一篇
# Day12 Java的二維陣列
下一篇
# Day14 安裝 Android Studio 開發環境
系列文
當Java遇見Android,30天學習指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言