我是java新手,编码可能很邋so所以请不要苛刻!无论如何,我正在制作一种方法,每当我点击结束转弯按钮时,它将依次设置增加1。
public int turns (int turn){
int turns = 0;
if (turn == 0){
btnYes.setEnabled(false);
btnNo.setEnabled(false);
btnRolldie.setEnabled(true);
btnPurchase.setEnabled(true);
btnMove.setEnabled(true);
turn++;
}
if (turn == 1){
btnYes.setEnabled(false);
btnNo.setEnabled(false);
btnRolldie.setEnabled(true);
btnPurchase.setEnabled(true);
btnMove.setEnabled(true);
turn++;
}
if (turn == 2){
btnYes.setEnabled(false);
btnNo.setEnabled(false);
btnRolldie.setEnabled(true);
btnPurchase.setEnabled(true);
btnMove.setEnabled(true);
turn++;
}
if (turn == 3){
btnYes.setEnabled(false);
btnNo.setEnabled(false);
btnRolldie.setEnabled(true);
btnPurchase.setEnabled(true);
btnMove.setEnabled(true);
turn = 0;
}
return(turns);
}
private void btnEndTurnActionPerformed(java.awt.event.ActionEvent evt) {
int turns = 0;
lblturn.setText("" +turns(turns));
当我运行程序时,只要按下按钮,标签就会不断重复0。我以为int转了;会工作,但变量没有初始化。我不知道我的方法中是否有错误,或者按钮中的初始化是否覆盖了该方法。
正如我所说,我是java的新手,所以这可能是完全错误的方法,如果是,请给我一些关于如何改进这种结构的建议。谢谢!
答案 0 :(得分:2)
int turns = 0;
是一个局部变量,因此每次调用该方法时都会重置该值。您需要将其作为类的字段,以便可以在方法之间共享。并将turn++
更改为turns++
。
答案 1 :(得分:0)
您应该turns++
而不是turn++