COIT20245-Assessment item 1— Assignment 1 Specification

Objectives This assessment item is designed to test your understanding of variables, constants, types, operators,
standard console input/output, loops, if statements, classes, objects and methods.
Write a Java application that calculates and displays rentals of hiring car for N customers who hire
cars from a local car rental company based in Rockhampton, Australia. N should be declared as a
constant and should be equal to the largest digit of your student id number (e.g. if your student id is
s0705544 then N should be equal to 7). Assume N=4, if the largest digit of your student id number is
less than 4. The standard charges of car rental from this company are shown below in Table 1.
Table 1. The standard charges for car rentals
Days of rental Charge
1 − 5 days \$25.0/per day (base rate)
6 − 10 days \$22.5/per day
More than 10 days \$21.0/per day
The application should ask the user to enter the customer name, the number of days for renting a car,
and yes or no to indicate whether the customer receives a special offer or not. The special offer will
give customers a 10% discount of the rental no matter how many days they hire a car. Assume that the
number of days to be entered is an integer type with the range between 1 and 365. An error message
should be issued if a user enters a value beyond this range and the re-entering is required. After
entering the above three data items, the program makes a calculation of rental and displays the result
as shown in Figure 1. The program should be kept running with entering next set of input data. After
all N sets of input data are entered from the keyboard, if the calculation of your program is
successfully finished, the execution of your program will also display the information that includes
the customer spending most rental, the customer spending least rental as well as a simple statistics bar
chart to display how many rents with the number of days are less than 7 days and greater than/equal 7
days in two lines respectively.(Based on historical statistics, most customers hire a car for a period of
7 days). These requirements and the result also can be shown in Figure 2 on next page. Your program
should display a similar screen image when it runs. The application should be user-friendly by
displaying appropriate welcome, exit and error message. Please note: (1)For simplicity, ignore some
complicated factors such as car type, fuel usage, running kilometres in the real-world application.
This is a simplified computation model for our purpose of programming exercise. (2)A special offer
can be represented by a boolean variable with the value of true/false, or an integer variable with the value of 1 and 0, or a String variable with the value of yes or no (you can use String class built-in
method equal( ) to compare two strings); and (3) If the value of N is re-set, your program should
be run as normal without changing any source code except setting N with a different value.
The application can be implemented in a few of different ways. One of implementations is to use the
following classes and methods:
public class CarRental
{
//declare data members
public CarRental( ) //constructor
public void setName(String n)
public String getName()
public void setDays(int d)
public int getDays()
………...
public double calulateRental()
public void displayInfo()
}
public class CarRentalTest
{
public static void main(String [ ] args)
{
//declare data members
// create Scanner object, create a CarRental Object
// use a loop to read data, call methods
……………….
}
}
Alternatively, the another implementation can be illustrated as below:
public class CarRental
{
//declare data members
public CarRental( ) //constructor
public void inputData()// using Scanner, using loops
public double calulateRental()
public void displayInfo()
}
public class CarRentalTest
{
public static void main(String [ ] args)
{
//simply create a CarRental object
//call relevant methods
}
}
You can implement this application in either way as above (or other similar way), provided your
program works fine and produces the expected result that meets the specified requirements.
What to submit
You should submit online the following files: • CarRental.java (this file contains java source code for class CarRental) • CarRentalTest.java (this file contains java source code for class CarRentalTest) • Report.docx (this file contains a brief report – maximum 2 pages that includes student name,
student ID, course name, course code and test cases )