如何在多次计算后更改变量的值

时间:2017-12-19 12:05:50

标签: java vector normalize

以下Java代码用于使用变量dx和dy标准化向量。

我的问题是第二次计算是用更改的dx变量执行的,这给了我一个错误的dy值。 如何防止这种情况或在计算后更改这两个值?

提前感谢您的回答

q :=  datastore.NewQuery("Patient").
    Filter("phone =", patient.Phone).
    Filter("username =", patient.UserName)

var patients []*Patient
keys, err := q.GetAll(ctx, &patients)
if err != nil {
    // Handle error
    return
}

// patients contains patients with the given phone number and username

1 个答案:

答案 0 :(得分:1)

dx存储在临时变量中,以便保留原始值。

 public void rescale() {
    double dxTmp = dx;
    dx = (1/(Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)))) * dx;

    dy = (1/(Math.sqrt(Math.pow(dxTmp, 2) + Math.pow(dy, 2)))) * dy;
}