Create modeling tickets for a city subway system, JAVA Programming

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.

Posted Date: 2/16/2013 1:25:13 AM | Location : United States

Related Discussions:- Create modeling tickets for a city subway system, Assignment Help, Ask Question on Create modeling tickets for a city subway system, Get Answer, Expert's Help, Create modeling tickets for a city subway system Discussions

Write discussion on Create modeling tickets for a city subway system
Your posts are moderated
Related Questions
COMPSCI220S2C2012 Assignment 1 due 8 August 8:30 pm This assignment introduces you to an example of applied algorithm analysis and shows you why, sometimes, compromises in an algor

Describe Graphics Objects ? In Java all drawing takes place via a Graphics object. This is an example of the class java.awt.Graphics. Initially the Graphics object you use w

Consider the following code? What input is needed for x in order for the sum variable that is output at the end of the code to be 12 ? (In other words: what do I need to make X be

699906626330444777707776662233777 decoding program

Pick your favorite geometry formula (e.g., area of a square, perimeter of a triangle …) and implement it in Java. Demonstrate your code compiles and runs without issue (You can use

Describe Logical Operators in Java ? The relational operators you've learned so far ( , >=, !=, ==) are enough while you only required to check one condition. Therefore what if

For this assignment, you will simulate a file system. You will be neither creating files nor reading or writing disk files. Rather, you will have a simulation of a file system that

program t ofind area under the curve y=f(x) between x=a and x=b integrate y=f(x) between the limits a and b

Explain java.lang.string library in java? Strings are objects. Specifically they're instances of the class java.lang.String . This class has several methods which are useful f

Converting Strings to Numeric Primitive Data Types To convert a string which is containing digits to a primitive data type, wrapper classes can help. parseXxx method can be u