访问方法返回数组

时间:2014-12-25 07:20:54

标签: java

我有一个关于如何使用返回数组类型访问方法的问题。这是我的代码:

public static void main(String[] args) {
    int value = 5;
    for(int i=0; i<value; i++){
        System.out.println((i+1)+ "=" + Arrays.toString(Arr(value)));
    }
}

private static int[] Arr(int n){
    int[] x = new int[n];
    for(int i = 0; i<n; i++){
        x[i] = i+1;
    }
    return x;
}

代码结果总是打印[1,2,3,4,5] 5次。 我的问题是如何访问特定的数组编号,例如如何访问包含2的arr [1]或包含3的arr [2]?

7 个答案:

答案 0 :(得分:1)

试试这个:

System.out.println((i+1)+ "=" + Arr(value)[i]);

你正在获取int数组,所以如果你有索引,那么你可以像上面一样访问它。

相当于

int[] array = Arr(value);
System.out.println((i+1)+ "=" + array[i]);

值得注意的两点:

  • 您的方法名称应以小写字母开头。
  • 您正在循环中调用方法。将其置于循环之外并仅调用一次以加快代码执行速度。

答案 1 :(得分:1)

您应该调用该方法一次,并访问返回数组的元素。

public static void main(String[] args) {
    int value = 5;
    int[] result = Arr(value);
    for(int i=0; i<value; i++){
        System.out.println((i+1)+ "=" + result[i]);
    }
}

答案 2 :(得分:1)

如果您想逐个打印每个元素

public static void main(String[] args) {
    int value = 5;
    int[] output=Arr(value);
    for(int i=0; i<value; i++){
        System.out.println((i+1)+ "=" + output[i]);
    }
}

private static int[] Arr(int n){
    int[] x = new int[n];
    for(int i = 0; i<n; i++){
        x[i] = i+1;
    }
    return x;
}

答案 3 :(得分:0)

该函数返回一个数组,您可以从中访问Arr(value)[index]之类的元素。以下是一个例子:

System.out.println((i+1)+ "=" + Arrays.toString(Arr(value)[i]));

在这种情况下你也可以使用临时数组:

int[] temp = Arr(value);
System.out.println((i+1)+ "=" + temp[i]);

答案 4 :(得分:0)

试试这个:

System.out.println((i+1)+ "=" + Arr(value)[i]);

简单,我希望它有所帮助。

  • 当你使用+ with string(&#34; =&#34;)时,它已经将Int of Array的元素转换为String。

答案 5 :(得分:0)

你用错误的参数调用函数。

你可以这样打电话。

public static void main(String[] args) {
    int value = 5;
    for (int i = 0; i < value; i++) {
        System.out.println((i + 1) + "=" + Arrays.toString(Arr(i + 1)));
    }
}

答案 6 :(得分:0)

目前,每次进行循环时都会创建一个新的数组 。这非常缓慢且浪费,特别是如果您每次只想打印一个值。

要获得代码,只需打印出单个值,就可以执行此操作:

int value = 5;
for(int i=0; i<value; i++){
    System.out.println((i+1)+ "=" + Arr(value)[i]);
}

但正如我所说,因为你每次都会拨打Arr,这样效率会非常低。你真正想做的是创建一次数组,然后遍历它:

int value = 5;
int[] array = Arr(value);
for(int i=0; i<value; i++){
    System.out.println((i+1)+ "=" + array[i]);
}

如果您想亲自了解此更改的效果,请尝试将value设置为10000000或更高,并且您应该注意到第一个更长时间逐渐减慢。

设定它并注意它开始的速度。然后去喝酒,看看你回来后它是否还在快速运转。 (如果你回来后它已经完成,请将值设置得更高。)