首页 > 解决方案 > 传递变量 - JAVA

问题描述

我正在尝试Varpublic void run(). 在里面public RandomWalk(double v2){ Var=v2; } 我有正确的值。里面的public void run()Var总是0。有什么解决办法吗??

 public class RandomWalk implements Runnable
 {
public static double Var;

public RandomWalk(double v2){
  Var=v2;
}

public void run() {
    double p = currentTime / 1000.0 * 4;
    series0 = 20 + Math.cos(p * 2.2) * 10 + 1 / (Math.cos(p) * Math.cos(p) + 0.01);
    series1 = Var;
}

感谢您的耐心等待!

标签: java

解决方案


首先确保您Var只设置一次。请删除公共属性并添加私有属性。

private static double Var;

第二次检查你的类中是否有这个属性 ( Var) 的设置器或修改器RandomWalk。如果有这样的方法,请检查您是否需要它们,如果需要,请检查它们是否设置了正确的值。

现在您确定Var已设置。

之后检查你的方法的实现run()。在方法内部,您不应该Var声明另一个。如果你有,那么你不要使用你的global Var,而是你的local Var方法。

run()如果您Var在使用它之前没有在某个地方再次设置您的全局,请最后检查此方法。检查以下地方:

Var=something

祝你好运!


推荐阅读