方法调用和显示问题

时间:2014-01-23 04:09:19

标签: java

我是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的新手,所以这可能是完全错误的方法,如果是,请给我一些关于如何改进这种结构的建议。谢谢!

2 个答案:

答案 0 :(得分:2)

第二行上的

int turns = 0;是一个局部变量,因此每次调用该方法时都会重置该值。您需要将其作为类的字段,以便可以在方法之间共享。并将turn++更改为turns++

答案 1 :(得分:0)

您应该turns++而不是turn++