我有一个函数,我使用全局变量,在这个函数中我更新这个变量。我不想在此函数之外更新此变量的值。
public static int a = 0; //is global
public static int b = 0;
public void func(){
if(a>c){
a=a+b;
}
}
此函数在 100ms 时调用
final Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
func();
handler.postDelayed(this, 100);
}
};
handler.postDelayed(runnable, 100);
为什么"a"每次都以零开头?
我想做这样的事情:
public void func(){
int a=0;
int b=0;
while(a>c){
a=a+b;
}
}
但是我不能使用 while,因为"c"是在另一个函数中计算的,如果我使用 while,"c"的值不会改变......
我该如何解决这个问题?
使函数静态。静态变量由静态函数更改。