Write a program that manages a list of train tickets, JAVA Programming

Assignment Help:

A fictitious train company, 'Transrail', has commissioned you to write a program that manages a list of train tickets.

The program should display a text menu that prompts the user to add, retrieve and delete tickets, as well as display summary information. The data structure used to store ticketing information should be an array. It should prevent a seat from being double-booked. 

The program should be able to distinguish, store and display both standard and first class tickets on-the-fly. Data will also be persistent between each execution of the program, by it loading data from a file at startup, and dumping the contents of the train ticket list when quitting.

Class Definitions
 
TrainTicket
 
The basic TrainTicket class models information that describes a single train ticket. It should store three pieces of data:

  • seat number: an integer (e.g. 12)
  • passenger name: a string (e.g. "John Doe")
  • duration: an integer that measures the legs in the journey (e.g. 3)

 
There should also be a provision to return a ticket's price, which is currently calculated at a constant $9 for each leg of the journey (e.g. a three-leg train ticket will cost $27). After construction, all data in a TrainTicket object should not be modifiable under any circumstances.
 
FirstClassTicket
 
The FirstClassTicket class is a subclass of TrainTicket. This ticket provides passengers with access to the bar car and a sleeper cabin. First class tickets have a greater cost: each leg of the journey is $20 more than a normal train ticket (e.g. a three-leg first class ticket will cost $87).
 
It also has an option not available to normal train tickets: personal waiter service. If this is selected, the ticket incurs a $15 flat fee. This added fee should be 'invisible' (i.e. it should be included in the ticket price, when the price accessor is called.) The waiter option can only be chosen at construction; it cannot be toggled afterwards.


Related Discussions:- Write a program that manages a list of train tickets

I want fitlife app for android - ios, I want FitLIFE app for Android, IOS, ...

I want FitLIFE app for Android, IOS, Windows Project Description: Hello, I want to develop an app for Android, IOS and Windows Phone. This app will be work with open source B

Write a short note on image preloading process, Write a short note on image...

Write a short note on image preloading process? The primary use of image preloading procedure is to download the image within the cache before it is actually required to displa

Describe the life cycle methods of a jsp? , 1. Pre-translated: Before the...

1. Pre-translated: Before the JSP file has been compiled and translated into the Servlet. 2. Translated: The JSP file has been compiled and translated as a Servlet. 3. I

Types of dependency injection spring supports, What are the types of Depend...

What are the types of Dependency Injection Spring supports? Ans) there are two types of Dependency Injection Spring a)  Setter Injection: b)  Constructor Injection:

A one page website where a user can input the information, A one page websi...

A one page website where a user can input the information including Company Name, Title, Activity, R/S, I also need the user to select the start date, end date, and check poi

Whatsapp bulk messenger to unlimited numbers, hi,i need whatsapp panel to s...

hi,i need whatsapp panel to send unlimitd message. skype : maya123.com email :

Android app for evaluating of distance, Android app for evaluating of dista...

Android app for evaluating of distance Project Description: The request is to prepare an app for Android. The application needs to run on tablet (7 "or larger) and the layout

What is the function of network interface card, What is the function of Net...

What is the function of Network Interface Card? NIC is an I/O device which plugs within the computer and it enables it to communicate over a network.

What is the string concatenation, What is the String Concatenation + Op...

What is the String Concatenation + Operator is employed to concatenate strings - System.out.pritln ("Hello" + "World") will print Hello World on console String concatenat

Extensible messaging and presence protocol, According to XMPP Standards Fou...

According to XMPP Standards Foundation "XMPP is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd