有没有办法让静态方法返回一个Vector对象(带有一个简单的整数x和y值作为字段),这是一个Vector乘以一个int值参数。但是,没有新对象,即分配给返回值的对象是否已更改,而不是创建了新的Vector?
以下代码无法实现此目的:
public class Vector{
public int x,y;
public Vector(int x,int y){
this.x = x;
this.y = y;
}
//Important code starts
public static Vector mult(Vector v,int a){
return new Vector(v.x*a,v.y*a);
}
//Important code stops
}
这段代码就是我所追求的,但它太乱了:
public static Vector mult(Vector v1,Vector v2,int a){
v1.x = v2.x*a;
v1.y = v2.y*a;
}
有替代方案吗?
答案 0 :(得分:3)
为什么不添加:
public void multiply(Vector otherVector, int a){
x = otherVector.x * a;
y = otherVector.y * a;
}
到你的Vector类。
答案 1 :(得分:0)
你的意思是?
public void mult(double a) {
x *= a;
y *= a;
}