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

Homework assignment, How do you start the Energy consumption program

How do you start the Energy consumption program

Develop contact list application, Develop Contact list application Proje...

Develop Contact list application Project Description: Prepare a computer application to help employees manage their contact list. Users must be able to store two kinds of con

Write a short Java application that stores words in an Array, Write a short...

Write a short Java application that stores words in an Array or ArrayList. You get to pick the number of words to store. Generate a random number between 0 (inclusive) and the leng

Program that receives two integer inputs from a user, Question 4 Write ...

Question 4 Write a program that receives two integer inputs from a user, an ending value, lastvalue and column, column. The program will display all numbers from 1 to lastvalue

Please help, Write a program to find the area under the curve y = f(x) betw...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

Implementation of Kruskal’s Algorithm, • A Graph Data Type (including a dis...

• A Graph Data Type (including a display method to show adjacencies) • A Cycle Checker (as described in lecture notes) • An Edge class • A sorting algorithm to sort an array of Edg

Bluej, how to write a program to assign value of variable age and print if ...

how to write a program to assign value of variable age and print if person is major.

How to drawing images at actual size, How to Drawing Images at Actual Size ...

How to Drawing Images at Actual Size Once the image is loaded draw it in the paint() method by using the drawImage() method like this g.drawImage(img, x, y, io) img is a

How many bits are used to show unicode and ascii, How many bits are used to...

How many bits are used to show Unicode, ASCII, UTF-16, and UTF-8 characters? Unicode requires 16 bits and ASCII require 7 bits although the ASCII character set uses only 7 bits

Collections, Employee get data from console

Employee get data from console

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