如何在每次调用方法时更新方法中的变量? (JAVA)

How do I update a variable in a method each time it is called? (JAVA)

我对编码还很陌生,我想知道是否可以在每次调用变量的方法时更新它。任何帮助将不胜感激。

这是我目前所了解的(不确定是否正确):

public class Score {

    public int score = 0;

}

我的主要class:

public void addScore () {
    Score s = new Score();
    s.score++;
    System.out.println(s.score);

}

这里的问题是每次调用 addScore() 方法时,您都在创建品牌 new Score。所以这是您要更新的 score 而不是您创建的原始 Score

在这种情况下,有 很多 种不同的方法来处理持久性,但也许最简单的方法是在 [=16] 中创建一个 addScore() 方法=] class 本身:

class Score {

    private int score = 0;

    public void addScore() {

        score++;

    }

    public int getScore() {

        return score;
    }
}

然后,在您的主应用程序中,创建一个 Score 对象并调用其 addScore() 方法:

public class Main {

    public static void main(String[] args) {

        Score score = new Score();

        for (int i = 0; i < 3; i++) {
            score.addScore();
            System.out.println(score.getScore());
        }
    }

}

不过,正如我所说,还有其他几种选择,具体取决于实际应用程序的总体需求。

另一种可能性是像我在上面的 main() 方法中所做的那样创建单个 Score,然后将其引用作为参数传递给 addScore() 方法。为此,您需要更新方法:

private void addScore(Score score) {
    score.addScore();
}

然后从主应用程序调用 addScore(score);


您可以通过阅读 the scope of variables in Java.

了解更多关于您所面临问题的信息