private int count = 0;
private float totalmoney = 0, constant=(1/3);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
buttonStart = (Button) findViewById(R.id.start);
textView.setText("minutes= " + count + " money= " + totalmoney);
buttonStart.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Timer T = new Timer();
T.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
count++;
totalmoney = totalmoney+constant;
textView.setText("minutes= " + count + " money= " + totalmoney);
}
});
}
}, 60000, 60000);
}
});
}
大家好,我希望有一个计时器,每分钟运行一次,从0开始,每分钟添加(1/3)到totalmoney
浮点数,我的代码在上面,它工作得非常好,分钟计数也很好,但totalmoney
永久为零。我首先尝试使用totalmoney += (1/3)
,但它没有用,所以我用常量(1/3)改变了我的代码,为什么它保持为零?
答案 0 :(得分:1)
float constant = 1/3
这里1/3首先被划分为整数,因此1/3 = 0.然后它被转换为浮点数(变为0.00 ...)。
实际上,您总是向totalmoney
添加0。
将常量更新为(float)1/3
或1f/3
,代码应该正常运行。