我应该怎么做才能让新实例比上一个实例高 1? (UML 至 Java 代码)

What should I do to have a new instance to be exactly 1 higher than the last instance? (UML To Java Code)

UML 图

给出的是以下使用卡片设计的 UML 图。每张新卡片的序列号都比之前创建的卡片高 1。

这是我的学校作业,但我不知道自己做错了什么。

import java.io.*; import java.lang.reflect.*; import java.lang.annotation.*; import java.util.*; import java.util.stream.*; import java.time.*; // Please do not change or remove this line.

class Ticket {
        static private Integer lastNumber = 2;
        private Integer number;


        public Ticket() {
        }

        public Integer getNumber() {
            number = lastNumber + 1;
            return number;
        } 
    }

这是我的代码

这是我在 IntelliJ (Edutools) 中遇到的错误

Failed. Runtime error Exception in thread "main" ExceptionTestFailed: A new instance of class 'Ticket' should have a number that is exactly 1 higher than the last created instance

您应该分配 number 的值,然后在实例化时(在构造函数中)将 lastNumber 的值递增 1。 你的方法 getNumber() 不应该改变属性的值,而只是 return 它。

import java.io.*; import java.lang.reflect.*; import java.lang.annotation.*; import java.util.*; import java.util.stream.*; import java.time.*; // Please do not change or remove this line.

class Ticket {
        static private Integer lastNumber = 2;
        private Integer number;


        public Ticket() {
            number = ++lastNumber;
        }

        public Integer getNumber() {
            return number;
        } 
    }