不幸的是,我是使用Java进行编码的初学者。现在我的问题是为什么未定义runde方法中的变量punktestarteRunde()。但是实际上我已经在上面的方法中定义了它们,不是吗?为什么不能在以下方法中使用这些变量?

public class GameActivity extends Activity implements View.OnClickListener{

    private void spielStarten(){
        boolean spielLaeuft = true;
        int runde = 0;
        int punkte;
        punkte = 0;
        starteRunde();
    }

    private void starteRunde(){
        runde = runde + 1;
        int muecken = runde * 10;
        int gefangeneMuecken = 0;
        int zeit = 60;
        bildschirmAktualisieren();
}


...

最佳答案

因为它们不是全球性的。要在所有方法中使用此变量,请在类级别上定义它们。

    public class GameActivity extends Activity implements View.OnClickListener{

        boolean spielLaeuft = true;
        int runde = 0;
        int punkte;

    private void spielStarten(){
        punkte = 0;
        starteRunde();
    }

    private void starteRunde(){
        runde = runde + 1;
        int muecken = runde * 10;
        int gefangeneMuecken = 0;
        int zeit = 60;
        bildschirmAktualisieren();
}

07-26 08:24