将数组从一种方法返回到另一种方法的问题?

时间:2014-04-26 18:43:39

标签: java arrays methods return

我在将一个新数组从一个方法返回到我的main方法时出现问题。 我一直在做一些研究,不幸的是我似乎找不到答案? 我发现的答案看起来非常详细,实际上并不是我想要的。

这是我的代码:

import java.util.*;

public class SquareArray
{


public static void main (String[] args){

    double a[] = new double[5];

    a[0] = 0;
    a[1] = 1;
    a[2] = 2;
    a[3] = 3;

    square(b);
}

public static double[] square(double[] a){

    double b[] = new double[a.length];

    for(int i = 0; i < a.length-1; i++){
        b[i] = a[i] * a[i];
        System.out.println(b[i]);
    }

    return (b); 
    }
}

要做的所有方法都是对原始数组中的数字进行平方,存储在新数组中并返回main方法。

请原谅我的代码中的任何错误,因为我还在学习Java。

非常感谢。

2 个答案:

答案 0 :(得分:1)

您的错误是因为您传递的变量未在Main方法中定义或全局定义。您应该将行更改为square(a)以传入您之前定义的数组。

其次,您的square方法的返回类型为double[],但您并未将其分配给任何内容。如果您只想显示平方值,则可以简单地将其设为返回类型void的方法。另一方面,如果你确实想要实际使用这个方法返回的数组,那么你需要声明另一个变量并像这样分配它:

double[] b = square(a);

主要优点是,如果您需要使用此方法返回的数组,比如说,在代码中使用10次,则可以使用变量而不是调用方法10次。

答案 1 :(得分:0)

如果要从方法中获取返回值,则传递当前数组并将方法传递给当前数组;

 a = square(a);