首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不同的旅行日期预定一个公共汽车对象?

如何在不同的旅行日期预定一个公共汽车对象?
EN

Stack Overflow用户
提问于 2019-10-25 18:04:45
回答 1查看 36关注 0票数 0

好的,伙计们,我正在我的own.Let上做一个公共汽车预订项目,给你们一个我想做的事情的基本想法。

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

代码语言:javascript
复制
           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;
          }

         }

一个月有30天,公司只有3辆公共汽车。所以会有三个公共汽车对象。这些措施将是:

代码语言:javascript
复制
     Bus A =new Bus ( );


     Bus B =new Bus ( );

     Bus C= new Bus ( );

因此,如果一个名为user1的用户在2019年10月25日( dd/MM/YYYY)预定了id 1的A总线(dd/MM/YYYY)的名为“A1”的座位,那么代码应该是:

代码语言:javascript
复制
    A.BookSeats("A1");
    A.journeyDate("25/10/2019");
    A.id (1);

A1座位已经订好了。

现在困扰我的是,假设一个名为user2的用户想要在2019年10月26日预订一个名为“A1”的id 1总线A的座位,那么这个代码将不可能实现,因为它是同一辆公共汽车A对象和座位A1预订了25/10/2019,但不应该预订26/10/2019。

代码语言:javascript
复制
  A.BookSeats("A1");

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

  A.id(1);// same id

因此,作为解决此问题的一种方法,我希望创建30个总线对象,每个月30天,其中包含30个与其日期相关的唯一I。但这对我来说是个很糟糕的方法。因为公司有三辆巴士。那么,为了解决上述问题,我还可以尝试什么其他的方法或者其他我遗漏的概念呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-25 18:38:49

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

公共汽车上的

  • Number/Plate
  • Seats (一次scheduled)
  • Departure
  • Arrival
  • Driver
  • Etc

)

为了调度时间,您希望有一个class Reservation,它应该包含有关某一特定一天的总线的所有信息,例如:

  • date
  • departure
  • arrival
  • seat

这意味着使用您的示例:

代码语言:javascript
复制
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

您可以使用您的公共汽车来查看某个时间点--这还应该包括时间、出发时间和到达时间,因为从B城到A城的旅程中有1座A1可供使用。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58563583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档