【问题标题】:How can I write this private method for being unique to the ticket number, and set that ticket number constructor?如何编写此私有方法以使票号唯一,并设置该票号构造函数?
【发布时间】:2015-06-07 04:30:49
【问题描述】:

停车票

以下是相关属性:

  • String类型的票号
  • 开票的警官姓名
  • 警官证号
  • 汽车的牌照号码汽车的品牌
  • 汽车型号
  • 罚款金额

注意票号必须是唯一的,由私有方法创建 从构造函数调用的 createTicketNumber()。必须设置ticketNumber 当对象被创建并且不允许更改时。例如第一张票将 编号为“V1001”,第二张票编号为“V1002”,依此类推。(提示: 使用静态变量来保存票号的数字部分并将其递增 创建票号的方法)。

【问题讨论】:

  • 如果您要粘贴家庭作业,至少要确保格式正确。
  • 请说明您尝试过的方法以及遇到的具体问题。

标签: methods constructor private


【解决方案1】:

让我在您的情况下举一个 java 示例,假设您的程序将永远运行(即您不需要在重新启动时记住最新的票号),您可以使用静态变量来存储最后发出的票号和然后将 ticketNumber 声明为类的私有属性,然后只创建 getTicketNumber() 函数(该属性的获取器),这样就没有人可以从类外部设置它,您可以在构造函数中设置它。

例子-

class Ticket {
    private static long lastTicketNumber = 0L;
    private String ticketNumber;
    public String getTicketNumber() {
        return ticketNumber;
    }

    public Ticket() {
        ticketNumber = createTicketNumber();
    }

    private String createTicketNumber() {
        lastTicketNumber = lastTicketNumber + 1;
        return "V" + (lastTicketNumber);
    }

}

【讨论】:

  • 在我的构造函数中设置它。我可以这样写吗?公共 ParkingTicket() { createTicketNumber(); setPoliceOfficer(""); }
  • 是的,你可以,在上面的例子中 - public Ticket() { ticketNumber = createTicketNumber(); } 是构造函数
  • 非常感谢!我是Java初学者。你帮了我很多!
猜你喜欢
  • 1970-01-01
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 2012-08-11
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多