簡體   English   中英

如何創建一個以 2 個數組作為參數的方法?

[英]How to create a method with 2 arrays as parameters?

如何將 2 個預定義數組作為參數傳遞給方法,這是我嘗試過的代碼:

   public class MergeArrays {
    public int array1[] = new int[5];
    public int array2[] = new int[5];
    private int[] mergeArray(array1,array2){

    }
}

要回答您的特定問題“如何將2個預定義數組作為參數傳遞給方法”,您需要在方法中指定參數的類型:

private int[] mergeArray(int[] array1, int[] array2)

然后,您可以使用以下命令調用它:

mergeArray(array1, array2);

一個更大的例子:

public class MergeArrays {

    public int array1[] = new int[5];
    public int array2[] = new int[5];

    private int[] mergeArray(int[] array1, int[] array2) {
        // TODO
    }


    public static void main(String... args) {

        MergeArrays merger = new MergeArrays();
        merger.array1[0] = 18;
        merger.array1[1] = 28;
        merger.array2[0] = 991;
        // etc.

        int[] mergedArray = merger.mergeArray(array1, array2);
        // TODO
    }
}

值得一提的是,這不是很棒的代碼。

方法中的參數名稱與實例變量的名稱沖突(並隱藏)。 這可能會造成混淆,如果您要從方法中訪問實例變量,則必須為此添加前綴this.

通常,在面向對象的程序中,您希望隱藏內部數據表示形式(例如數組),而不是將其公開。 例如,也許以后您將要改用ArrayList 如果將字段公開,則其他類可能會引用它們,因此更改將在代碼庫中引起連鎖反應。

您的mergeArray方法最好命名為mergemergeArrays (復數),並且應該是static除非它依賴於類的內部狀態。

回答:

  • 您可以創建一個將兩個數組作為參數的方法,例如:

句法 :

 modifier return-type nameOfMethod (type_of_array
    array_name[],type_of_array array_name[]) 
         {
            // method body
         }

例:

  public void TakeArray(int[] a, int[] b) {

   }
  • 如何將數組作為參數傳遞給此方法:

句法:

 nameOfMethod (name_of_Predefined_array);

例:

int array1[] = { 1, 2, 1, 1, 1, 1, 2 };  
int array2[] = { 1, 2, 1, 1, 1, 1, 2 }; 

TakeArray(array1, array2); 

工作代碼示例:

public class Consecutive {

    public static void TakeArray(int[] a, int[] b) { // define a function to
                                                        // take 2 array as input
        System.out.println("Array 1 :");
        for (int i : a)
            // printing value of array 1
            System.out.println(i);

        System.out.println("Array 2 :");

        for (int i : b)
            // printing value of array 1
            System.out.println(i);

    }

    public static void main(String[] args) {
        int array1[] = { 1, 2, 1, 1, 1, 1, 2 }; // creating an array
        int array2[] = { 1, 2, 1, 1, 1, 1, 2 };// creating another array
        TakeArray(array1, array2); // passing both array to function as
                                    // arguments
    }

}

檢查代碼中注釋中的解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM