我必须在这段代码中添加一些方法,但我不知道如何添加它们,我必须在此代码中添加实例方法assignValues,这里将数组作为输入并将其元素复制到实例数据值的元素在Vector类中定义并添加一个构造函数,该构造函数将double类型的数组和该数组的大小作为输入 . 在构造函数中,调用重载方法assignValues . 向量:
import java.util.Scanner;
public class Vector {
int vecsize;
double[] values;
Scanner scan;
Vector(int size){
this.vecsize = size;
values = new double[vecsize];
}
public void assignValues() {
scan = new Scanner(System.in);
for (int i = 0; i < vecsize; i++) {
System.out.println("Vector value #" + (i+1) +":");
values[i] = scan.nextDouble();
}
}
public double getValue(int i) {
return values[i];
}
public double[] getValues() {
return values;
}
public int getVectorSize() {
return vecsize;
}
}
然后在Vector类中实现方法toString . 该方法返回一个包含values实例变量元素的字符串 . 然后我必须编写扩展EuclidMath EuclidMath的EuclidMath2:
public class EuclidMath {
static double dot(Vector a, Vector b) {
if (a.getVectorSize() == b.getVectorSize()) {
double result = 0;
for (int i = 0; i < a.getVectorSize(); i++) {
result += a.getValue(i) * b.getValue(i);
}
return result;
} else {
return Double.NaN;
}
}
}
我必须添加到这个类 mul2scalar ,它将Vector对象和double作为输入,并返回一个新的向量,它是输入向量和作为参数传递的double值(标量)的乘法结果 . vectorSum 将两个Vector对象作为输入,并且 - 如果向量长度相等,则该方法返回两个向量的总和 - 如果它们的长度不同,则该方法返回不带元素的数组