我有一个函数,我使用一个全局变量,并在此函数中更新此变量。我不想在此函数之外更新此变量的值。
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”的值不会改变...
我该如何解决这个问题?
答案 0 :(得分:0)
使函数静态。静态变量由静态函数更改。