gpt4 book ai didi

java - 如何预订不同旅程日期的单一巴士对象

转载 作者:行者123 更新时间:2023-12-01 22:27:14 25 4
gpt4 key购买 nike

好吧,伙计们,我正在自己开发一个巴士预订项目。让我给你们介绍一下我正在尝试做的事情。

假设我有一个名为“Bus”的总线对象。它基本上具有三种方法:

           class Bus{
String date;
String seat;
int id;

public void BookSeats(String seat){

this.seat=seat

//code goes for booking seats


} ;

public void journeyDate(String date){
this.date=date
}

public void id(int id){
this.id=id;
}

}

一个月有三十天,公司只有 3 辆公交车。所以将会有三个总线对象。这些将是:

     Bus A =new Bus ( );


Bus B =new Bus ( );

Bus C= new Bus ( );

因此,如果名为 user1 的用户现在于 2019 年 10 月 25 日 (dd/MM/YYYY) 预订了 id 1 的公交车 A 的名为“A1”的座位,则代码应为:

    A.BookSeats("A1");
A.journeyDate("25/10/2019");
A.id (1);

A1 座位已被预订。

现在让我困扰的是,假设一个名为 user2 的用户现在想要预订 2019 年 10 月 26 日 id 1 的公交车 A 的名为“A1”的座位,那么此代码不可用,因为它是相同的巴士 A 对象,并且座位 A1 已预订于 2019 年 10 月 25 日,但不应预订于 2019 年 10 月 26 日

  A.BookSeats("A1");

A.journeyDate("26/10/2019");//same bus A object but different
date.

A.id(1);// same id

因此,作为解决此问题的方法,我想为每月 30 天创建 30 个总线对象,并具有与其日期关联的 30 个唯一 ID。但这对我来说是一个非常糟糕的方法。公司自有公交车3辆。那么我可以尝试什么其他方法或我缺少的其他概念来解决上述问题。

最佳答案

这将是一个非常通用的答案,但我觉得它需要比评论更多的空间和格式。本质上,您不想使用 class Bus 来管理座位,您的 Bus 应该仅用于管理特定时间公交车上发生的情况。例如:

  • 号码/车牌
  • 巴士上的座位(一旦安排)
  • 出发
  • 到达
  • 司机
  • 等等

出于调度目的,您希望有一个类预订,其中应包含有关特定日期公交车的所有信息,例如:

  • 日期
  • 出发
  • 到达
  • 座位

这意味着使用您的示例:

User 1 - Reservation(today, Bus 1, Seat A1)
Bus 1 = all reservations for today city A to city B
A1 is empty - fill it.

User 2 - Reservation(tomorrow, Bus 1, Seat A1)
Bus 1 = all reservations for tomorrow city A to city B
A1 is empty - fill it.

User 3 - Reservation(tomorrow, Bus 1, Seat A1)
Bus 1 = all reservations for tomorrow city A to city B
A1 is filled - cannot save reservation

您使用巴士查看某个时间点 - 这还应该包括时间、出发和到达,因为巴士 1 座位 A1 在从城市 B 到城市 A 的行程中可用。

这样一来,现在有三辆巴士,但是当他们能够购买第四辆巴士时,所有的变化就是能够安排第四个出发/到达对,然后将其应用于车队中的任何巴士。

关于java - 如何预订不同旅程日期的单一巴士对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58563583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com