Create modeling tickets for a city subway system, JAVA Programming

Assignment Help:

For this assignment you'll create some classes for modeling tickets for a city subway system. The type of system we are modeling has these main features:

Stations are grouped in zones. Each zone is represented by a positive integer. The cost for a ride depends on how many zones are crossed. There is a fixed cost, referred to as the ride cost, to travel within a zone. In addition, the rider pays an additional cost, called the zone cost, which is multiplied by the difference between the zones. For example, if the ride cost is 2.00 and the zone cost is 1.75, then traveling from zone 5 to zone 2 would be 2.00 + 3 * 1.75 = 7.25, since 3 is the difference between 5 and 2. It would be the same to travel from zone 2 to zone 5, of course.

The tickets have a magnetic stripe in which some information is encoded, including a balance. As riders pass through the turnstile to enter the station, they swipe their cards through the card reader on the turnstile. The zone in which the turnstile is located is recorded on the card. When a rider exits the station at his or her destination, the card is swiped at the exit turnstile, and the cost for the trip is subtracted from the balance on the card, if possible. When the balance on the card isn't enough to pay for the trip, the turnstile doesn't open and the card's balance isn't modified.

There is a discounted fare for seniors, a fact which is also recorded on the card. Here is an overview of the roles of the four classes in this system.

A Ticket models a ticket with a magnetic stripe as described above. A ticket has a balance in cents, an indication of whether the user is entitled to discounted fares, and what the start zone is if a trip is in progress.

A TicketMachine creates new Tickets according to various criteria. Users can purchase tickets by selecting a start and end zone, by specifying an amount for the initial balance, or by specifying a number of rides with a given start and end zone. A ticket machine also keeps track of the total number of tickets sold and the total amount of money collected.

The Turnstile type models a turnstile as described above. Each turnstile has a zone in which it is located and has methods swipeIn() for entering a station and swipeOut() for exiting.

The TicketUtil class is a utility for calculating ride costs. It is used by the TicketMachine when dispensing tickets, and it is used by the Turnstile class in order to determine how much to subtract from the balance on a ticket when someone exits.

Note that there is no main() method in any of these classes. In order to test your code, you'll need to create a main class that  constructs some of these objects and checks that they work correctly.


Related Discussions:- Create modeling tickets for a city subway system

How do i include static files within a jsp page, Static resources should al...

Static resources should always be contained using the JSP include directive. This way, the inclusion is performed just once during the translation phase. Do note that you should al

Require assistance in java / grails support, require assistance in Java / G...

require assistance in Java / Grails support We have a project which requires continuous maintenance / support and occasional feature development. Its running on Java 1.7 / Grail

Java, Write a program called Power that displays the positive powers of 2. ...

Write a program called Power that displays the positive powers of 2. When the user enters the exponent at a prompt, the program displays 2 to that power. The program halts when the

The fancy new French restaurant La Food is very popu, The fancy new French ...

The fancy new French restaurant La Food is very popular for its authentic cuisine and high prices. This restaurant does not take reservations. To help improve the efficiency of the

Javascript to calculate the cost of each book, Write JavaScript code that i...

Write JavaScript code that is executed during form submission to calculate the cost of each book (based on quantity specified) and the overall total cost. The results should be dis

Explain the term- strings, Explain the term- Strings A string is genera...

Explain the term- Strings A string is generally considered to be a sequence of characters stored in memory and accessible as a unit. Strings in java are signified as objects

What is the use of lookupdispatchaction, LookupDispatchAction is useful if ...

LookupDispatchAction is useful if the method name in the Action is not driven by its name in the front end, but by the Locale independent key into the resource bundle. As the key i

What are the list interface and its main implementation, What are the List ...

What are the List interface and its main implementation? List helps in collections of objects. Lists may include duplicate elements. Main implementations of List interface are

Compiler Design - Limit the loops, Problem : Compiler Design - Limit the lo...

Problem : Compiler Design - Limit the loops Rajni is a newbie to the programming and while learning the programming language he came to know the following rules: ???• Each

What is meant by semantic error, What is meant by semantic error? Occur...

What is meant by semantic error? Occur while a statement executes and has an effect not intended through the programmer and Frequently times occur only in unusual & infrequent

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