0

我有一个任务,要求我创建一个方法,该方法将一个名为 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

4 回答 4

0

看起来您对数组的平方超出了您的需要。如果数组中的每个元素都需要平方,你应该只需要循环一次该数组,但在你的代码中你有两个循环。

这是问题的一部分。

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

于 2013-04-09T23:08:55.703 回答
0

试试这个:

  1. 在您的 squareArray() 中,创建一个 List< Double> 或类似的东西。
  2. 遍历 double[] 中的每个双精度并将该双平方添加到列表中。
  3. Return (listname).toArray();
于 2013-04-09T23:12:04.793 回答
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;
    }
}
于 2013-04-09T23:14:23.453 回答
0

您快到了。

  • 复制您收到的数组的内容并将它们放入您的 internal squareArray.
  • 迭代squareArray并应用您的算法(要在循环中访问特定索引,请使用squareArray[i]
  • 返回squareArray
于 2013-04-09T23:16:08.497 回答