我有一个赋值,要求我创建一个方法,该方法将一个名为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;
}
答案 0 :(得分:0)
看起来你正在比你需要的更多地对阵列进行平方。如果数组中的每个元素都需要被平方,那么你应该只需要遍历该数组一次,但是在你的代码中你有两个循环。
这是问题的一部分。
另一个原因是你试图将数组相乘,这是不允许的。在该方法中,您需要遍历数组并对其中的每个元素进行平方。
答案 1 :(得分:0)
试试这个:
答案 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)
你快到了。
squareArray
。squareArray
并应用您的算法(在循环中访问特定索引时,使用squareArray[i]
)squareArray
。