有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javafx如何在每次调用方法中的变量时更新它?(爪哇)

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

以下是我到目前为止得到的信息(不确定是否正确):

public class Score {

    public int score = 0;

}

我的主要课程:

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

}

共 (1) 个答案

  1. # 1 楼答案

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

    在这种情况下,有很多不同的方法来处理持久性,但最简单的方法可能是在Score类本身中创建一个addScore()方法:

    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());
            }
        }
    
    }
    

    不过,正如我所说,根据实际应用程序的总体需求,还有其他几种选择

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

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

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


    你可以通过阅读the scope of variables in Java了解更多关于你所面临问题的信息