这些是我应该遵循的说明:
Vector类:将实数向量作为一维数组。 构造函数: (1)获取双精度数组并转换为Vector (2)将逗号分隔的双精度数作为列表并将它们转换为Vector。
package p1;
public class Vector {
double yourArray[]=new double[4];
public Vector(double yourArray[]){
this.yourArray=yourArray;
}
}
作为列表的逗号分隔双精度数与双精度数组之间有什么区别?他们不一样吗?如果没有,我如何在Vector类中编写此代码?
答案 0 :(得分:0)
您的代码需要适应以下两种构造函数调用:
Vector myVector = new Vector(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0);
和
double[] myArray = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0};
Vector myVector = new Vector(myArray);
如果您可以使用这两种构造函数模式中的任何一种创建Vector
,那么您就赢了。这就是它所要求的。
您可以使用以下构造函数签名执行此操作:
public class Vector {
double[] yourArray;
public Vector(double... yourArray) {
this.yourArray = yourArray;
}
}
带有三个点的变量参数模式(“double ... yourArray”)实际上在封面下转换为数组(“double [] yourArray”)。因此,您可以使用单个构造函数来容纳这两种调用模式。