需要帮助创建一个返回数组的方法,该数组的元素是另一个数组的正方形

时间:2013-04-09 23:06:51

标签: java methods double

我有一个赋值,要求我创建一个方法,该方法将一个名为dArray的双精度数组作为参数,并返回另一个数组,其元素是dArray元素的正方形。

例如,

如果dArray为{1, 4, 6, 7},则返回的数组将为{1, 16, 36, 49}

非常感谢任何帮助!

这是我到目前为止所写的内容,但它不能正常工作。

public static double[] squareArray(double[] dArray) {
    double[] squareArray = new double[10];

    for(int i = 0; i < dArray.length ; i++) {
        dArray[] = dArray * dArray;
    }

    return squareArray;
}

4 个答案:

答案 0 :(得分:0)

看起来你正在比你需要的更多地对阵列进行平方。如果数组中的每个元素都需要被平方,那么你应该只需要遍历该数组一次,但是在你的代码中你有两个循环。

这是问题的一部分。

另一个原因是你试图将数组相乘,这是不允许的。在该方法中,您需要遍历数组并对其中的每个元素进行平方。

答案 1 :(得分:0)

试试这个:

  1. 在squareArray()中,创建一个List&lt;双&GT;或类似的东西。
  2. 遍历double []中的每个double,并将该double平方添加到List。
  3. 返回(listname).toArray();

答案 2 :(得分:0)

class Test {

    public static void main(String [ ] args) {
            double[] scores = {3, 9, 3, 3};
            double[] scoresSquared = squareArray(scores);
            for (int i =0; i <scoresSquared.length; i++) {
                    System.out.println(scoresSquared[i] + " ");
            }
    }

    public static double[] squareArray(double[] dArray){
            double[] squareArray = new double[dArray.length];
            for (int i = 0; i < dArray.length ; i++){
                    squareArray[i]= dArray[i] * dArray[i];
            }
            return squareArray;
    }
}

答案 3 :(得分:0)

你快到了。

  • Copy the contents of the array您收到并将其放入内部squareArray
  • 迭代squareArray并应用您的算法(在循环中访问特定索引时,使用squareArray[i]
  • 返回squareArray