2011-06-28 33 views
1

如何編寫一個方法,該方法具有一個表示索引的參數integer,並返回數組在指定索引處保存的值。但是正在使用的數組已經由以前的方法生成。到目前爲止,我有這樣的:在以另一種方法創建的方法中使用數組

public static int get(int var) { 

int[] result = constructArray(arrayA,array B); 
    return result[var]; 
} 

主要方法看起來像

public static void main(final String[] args) { 

     int[]result = constructArray(arrayA,arrayB); 
     System.out.println(Arrays.toString(result)); 
     int variable = get(2); 
     System.out.println(variable); 


} 

的方法constructArray每次調用時間構建了一個不同的陣列,所以當我調用get方法,我想使用已經構建的數組。我怎樣才能做到這一點?

回答

1

保存數組作爲在你第一次構建它之後,類的靜態成員

class Example { 

    static int[] result; 

    public static void main(final String[] args) { 
     result = constructArray(arrayA,arrayB); 
     System.out.println(Arrays.toString(result)); 
     int variable = get(2); 
     System.out.println(variable); 
    } 

    public static int get(int var) { 
     return result[var]; 
    } 

} 
2

將該數組保存到某個範圍更高的臨時變量中,並且只能第一次重建。理想情況下,當構建使用它的對象時,只需構建它。

根據您的設計,您還可以在更高級別構建數組並將其作爲第二個參數傳遞給get()方法。

0

你試過:

public static int get(int[] array ,int index) { 
    return array[index]; 
} 
+0

是的,但該方法可以在索引作爲參數 – Labra

+0

只需要擁有一個私人靜態數組作爲類的一個變量? – Alex

0

如果這些方法駐留在同一類,應該是一個相當簡單的事情,初始化和引用生成的陣列直接

public static int get(int var) { 

    return result[var]; 
} 
0

Th應該是你的情況是好的:

public static void main(final String[] args) { 
    int[]result = constructArray(arrayA,arrayB); 
    System.out.println(Arrays.toString(result)); 
    int variable = result[2]; 
    System.out.println(variable); 
}