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

问题描述 投票:0回答:1

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

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

提前感谢您的回答

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

    dy = (1/(Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)))) * dy;
}
java vector normalize
1个回答
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.