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

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.

Posted Date: 2/16/2013 4:14:40 AM | Location : United States







Related Discussions:- Write a program that manages a list of train tickets, Assignment Help, Ask Question on Write a program that manages a list of train tickets, Get Answer, Expert's Help, Write a program that manages a list of train tickets Discussions

Write discussion on Write a program that manages a list of train tickets
Your posts are moderated
Related Questions
The clustering regulates high scalability and availability. The basic considerations for servlet clustering are: 1. Objects opened in a session could be serializable to support

We are in need of Programmer In search of someone who know java well enough to work under my in-house programmer and take work form him to keep the project moving. The project d

1. Which of the following are not valid Java identifiers, and why? (a) wolVes (b) United(there is only one) (c) 87 (d) 5 3 (e) Real ale (f) isFound?by 2. A class Television

What is Runnable JAR archives You can run a program stored within the JAR archive that has a main() method like this: $ java -cp eharold.jar MainClassName You must use the f

Separating your business logic with other functionality such as services, Loggers etc, making classess more cohesive.

Explain function system.arraycopy() ? Although copying an array isn't particularly hard, it is an operation that advantages from a native implementation. Thus java.lang.System

We need an OpenGL - based visualisation of an OBJ-File that was created out of Maya3D. (important: we have to use OpenGL with Java - JOGL) In other words: we have an OBJ-file (a

Information Retrieval from Multi-Agent System with Data Mining in Cloud Computing I have proposed one research model on "Information Retrieval during Multi-Agent System with Dat

1) Listing of the source code ( named Rainfall.java ) for your program 2) Two sample output/execution/runs of your program Optional Group Work: This assignment may be done in

? • ?read from a file a series of an infix algebraic expressions comprised of constant and variable operands (integers), operands (%, *, /, +, -) and parenthesis. Two slashes (//)