第二章:簡單 Java 程式解析
第三章:變數與資料型態
第四章:運算子、運算式與敘述
第五章:選擇性敘述與迴圈
第十章:實例變數與函數、類別變數與函數

函數傳遞陣列

一、傳遞一維陣列

要傳遞一維陣列到函數裡,只要指名傳入的引數是一個陣列即可。

public class ch07_5 {
public static void main(String[] args) {
int score[]={9,14,6,18,2,10};
largest(score);
}
public static void largest(int arr[]){
int max=arr[0];
for(int i=0; i<arr.length; i++)
if(max<arr[i])
max=arr[i];
System.out.println("largest num = "+max);
}
}

OUTPUT: largest num = 18

如果要傳遞陣列到函數裡,只要在函數內填上陣列的名稱即可。

如以上範例的第五行:

largest(score);

二、傳遞二維陣列

public class ch07_6 {
public static void main(String[] args) {
int score[][]={{9,14,6,18,2,10},{18,32,65,27,30,17}};
largest(score);
}
public static void largest(int arr[][]){
int max=arr[0][0];
for(int i=0; i<arr.length; i++)
for(int j=0; j<arr[i].length; j++)
if(max<arr[i][j])
max=arr[i][j];
System.out.println("largest num = "+max);
}
}

OUTPUT: largest num = 65

在主程式main 當中,score函數改為二維函數; 而相同在函數內填上陣列名稱;

在函數largest 中,記得改為接收二維陣列 (本範例為整數陣列,固宣告二維整數陣列)。

三、函數資料型態注意

傳回陣列函數該注意的是:

如果為整數陣列,必須在函數前加上int[]

若是二維陣列則加上int[][],以此類推。

public class ch07_7 {
public static void main(String[] args) {
int a[]={9,14,6,18,2,10};
int b[];
b=add5(a);
for(int i=0; i<a.length; i++)
System.out.print(b[i]+" ");
System.out.println();
}
public static int[] add5(int arr[]){
for(int i=0; i<arr.length; i++)
arr[i]+=5;
return arr;
}
}

OUTPUT: 14 19 11 23 7 15