0

有没有办法让一个静态方法返回一个 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;
}

有替代方案吗?

4

2 回答 2

3

为什么不添加:

public void multiply(Vector otherVector, int a){
  x = otherVector.x * a;
  y = otherVector.y * a;
}

到你的 Vector 类。

于 2012-07-20T20:31:28.857 回答
0

你的意思是?

public void mult(double a) {
    x *= a;
    y *= a;
}
于 2012-07-20T20:33:54.253 回答