Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Need help with this assigment, we are in the arrays unit so no advance structures are permitted, please follow specifications, thanks. I. The Assignment The

Need help with this assigment, we are in the arrays unit so no advance structures are permitted, please follow specifications, thanks.

I. The Assignment

The Bashemin Parking Garage contains a single lane that can hold up to ten cars. Arriving cars enter the garage at the rear and are parked in the empty space nearest to the front. Departing cars exit only from the front.

If a customer needs to pick up a car that is not nearest to the exit, then all cars blocking its path are moved out temporarily, the customer's car is driven out, and the other cars are restored in the order they were in originally. Whenever a car departs, all cars behind it in the garage are moved up one space.

Write a Java program to operate the garage.

The program will read and process lines of input from a file until end-of-file. Each input line contains a license plate number and an operation (ARRIVE or DEPART), separated by spaces. Cars arrive and depart in the order specified by the input. Each input operation must be echo printed to an output file, along with an appropriate message showing the status of the operation.

When a car arrives, the message will include the license number and state whether the car is being parked or turned away because the garage is full. If the garage is full, the car leaves without ever having entered the garage.

When a car departs, the message will include the license number and the number of times the car was moved.

The number of moves does not include the one where the car departs from the garage, or the number of times the car was moved within the garage. It is only the number of times it was moved out of the garage temporarily to allow a car behind it to depart.

If a DEPART operation calls for a car that is not in the garage, the message should so state.

II. Specifications

Create separate classes to implement a Car and a Garage

The Car class will have private instance variables that store the license number and number of times the car has been moved, and any methods you discover to be necessary

The Garage class must use an array (not an ArrayList) of Car objects to implement the garage

To handle the arrival and departure of each car, your Garage class must implement separate methods arrive() and depart(), each of which returns a String showing the result of the operation (see above).

Your garage class may contain other methods should you find them necessary or advisable.

Also write a test class that reads the operations from the input file, echoes each to the output file, calls the appropriate Garage class method, and writes the String returned to the output file.

As stated in 4. and 6. above, all output is to be done in the test class. None of the Garage or Car class methods do any output

Make sure your classes adhere to the style and documentation standards discussed in class and in online notes

III. Data File

The input file - garage.txt - is available on the class web page

To receive credit for this assignment you must declare the garage array with an initial size of 10 and must not resize it! I.e. you must use a counter to keep track of the number of cars in the garage, as shown in classes PartiallyFilled.java and OrderedList.java. No credit will be given if you use an array with size of 1 and then resize it by adding one more element for each arriving car. This is grossly inefficient and simply not done in this quadrant of the galaxy. Counters are a fundamental concept of programming. Use them. Love them.

JAV001 ARRIVE JAV002 ARRIVE JAV003 ARRIVE JAV004 ARRIVE JAV005 ARRIVE JAV001 DEPART JAV004 DEPART JAV006 ARRIVE JAV007 ARRIVE JAV008 ARRIVE JAV009 ARRIVE JAV010 ARRIVE JAV011 ARRIVE JAV012 ARRIVE JAV013 ARRIVE JAV014 ARRIVE JAV006 DEPART JAV014 DEPART JAV013 DEPART JAV005 DEPART JAV015 ARRIVE JAV010 DEPART JAV002 DEPART JAV015 DEPART JAV013 DEPART JAV009 DEPART JAV003 DEPART JAV008 DEPART JAV007 DEPART JAV012 DEPART JAV011 DEPART 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle Database 10g Insider Solutions

Authors: Arun R. Kumar, John Kanagaraj, Richard Stroupe

1st Edition

0672327910, 978-0672327919

Students also viewed these Databases questions

Question

How do you believe creativity is related to wisdom?

Answered: 1 week ago

Question

2. Describe how technology can impact intercultural interaction.

Answered: 1 week ago

Question

7. Define cultural space.

Answered: 1 week ago