2011-06-28 35 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); 
}