Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 请帮助我理解这个UML图_Java - Fatal编程技术网

Java 请帮助我理解这个UML图

Java 请帮助我理解这个UML图,java,Java,构造函数将递增静态变量numberOfPlayers,然后将numberOfPlayers的值分配给playerId 为变量指定静态标识符,并对其进行初始化: //Class declaration of Player class public class Player { /*--------------- Data Fields -------------------------------------- Attributes of t

构造函数将递增静态变量numberOfPlayers,然后将numberOfPlayers的值分配给playerId

为变量指定
静态
标识符,并对其进行初始化:

    //Class declaration of Player class
    public class Player
    {
        /*--------------- Data Fields --------------------------------------
        Attributes of the class
        */
        private String name;
        private int playerId;
        private int bestScore;
        private int numberOfPlayers;
        private int scores;
        /* -------------- CONSTRUCTOR --------------------------------------
        */
        public Player(String name)
        {
            this.name = name;
            this.numberOfPlayers = numberOfPlayers + 1;
            this.playerId = this.numberOfPlayers;
        }
        //Create set method for setName
        public void setName(String name)
        {
            this.name = name;
        }
        //Create set method for setScores
        public void setScore(int score)
        {
            scores = score;
        }
        //Create get method for getPlayerId
        public int getPlayerId()
        {
            return playerId;
        }

        //Create get method for getName
        public String getName()
        {
            return name;
        }
        //Create get method for getScores
        public int getScores()
        {
            return scores;
        }
        //Create get method for getBestScore
        public int getBestScore()
        {
        return bestScore;
        }
        //Create get method for calcualteAverage
        public double calculateAverage()
        {
        }
        }
每次创建新玩家类时,将其递增1:

private static int numberOfPlayers = 0;
您需要一个方法来公开numberOfPlayers的值,并将其设置为静态,以便任何玩家类都可以调用它:

public Person() {
    numberOfPlayers++;
}
测试它是否是一种有效的方法,例如:

public static int getNumPlayers() {
    return numberOfPlayers;
}
关于分数的计算,您的
getScores
setScore
方法将有问题。首先,
getScores
意味着您必须返回多个分数。其次,
setScore
让我想知道你必须为一个玩家这样做多少次,当这些值在分数集合中增长时,你会将它们存储在哪里?我觉得这对我来说太雄心勃勃了,我无法猜测可能满足您需求的不同方法。如果这是一项学校作业,请咨询您的导师。我将分享一种使用
ArrayList
数据结构的方法:

Person a = new Person();
Person b = new Person();
Person c = new Person();

System.out.println(c.getNumPlayers()); //will be 3 based on the above
private ArrayList scores=new ArrayList();
公众人士(){
}
公共核心(整数分数){
分数。添加(分数);
}
要获得最佳分数-


要获得平均分数-

请选择一个更好的标题:想象有人正在解决类似的问题。标题应该让他知道这个问题是否对他有帮助。分数数组在哪里?计算平均值是非常简单和直接的,与最好的分数相同。是的,这是我的第一篇帖子,所以我不知道如何发布这个问题。下次我会把标题写得更具体一些。谢谢你,克拉克。第二部分是创建一个可执行的应用程序,让用户猜测1-20之间的数字。每个玩家被要求玩游戏五次,因此每个玩家都会存储五个分数。从现在起,我将尝试自己做这件事,我真的只是被困在了那个数字球员的角色上。再一次,我想到了getScores的get方法应该是什么样子。我已将分数设置为private ArrayList scores=new ArrayList();和setScore,正如您上面提到的,但我在getScore()上遇到了错误。public int getScores(){return scores;}@AnthonyGalpo您的方法被定义为
public int getScores()
,但我的示例将scores变量声明为
private arrarylist scores
,因此您需要将您的方法重新定义为
public arrarylist getScores()
,然后它应该可以工作。在本例中,您的方法的返回类型
ArrayList
只需与您返回的内容匹配即可。非常感谢您,我昨晚自己就解决了这个问题。
Person a = new Person();
Person b = new Person();
Person c = new Person();

System.out.println(c.getNumPlayers()); //will be 3 based on the above
private ArrayList<Integer> scores = new ArrayList<Integer>();

public Person() {

}

public void setScore(int score) {
    scores.add(score);
}