Recent Question/Assignment

Assessment details for ALL students
Assessment item 2—Assignment 2
Due date: Thursday of Week 10 ASSESSMENT
Weighting: 30%
Length: NA 2
Objectives
This assessment item is designed to test your understanding of arrays/arraylists, objects, classes, methods, sorting and searching.
Assessment task
Write a java application that allows the user to read, validate, store, display, sort and search the internet account number (integer number), usage (integer number) and cost (double number) for N customers. N should be declared as a constant and it should be equal to the largest digit of your student id number (e.g. if your ID number is S0234182 then N should be equal to 8 and you can declare it as final int N=8;). The account number, usage and cost must be stored in three separate single dimension Arrays/ArrayLists (index 0 for customer 1 and index N-1 for customer N). The minimum and maximum account numbers which can be stored are 1111 and 8888. The minimum and maximum internet usages which can be stored are 5 GB and 1000 GB. The internet account number and usage must be entered from the keyboard and a validation for minimum and maximum values must be done.
Your application should display and execute a menu with the following options. A switch statement must be used to execute the following menu options.
1. Read, validate and store account number and internet usage for N customers
2. Calculate, store and display the cost for all customers
3. Display all account numbers which have over 10 GB usage
4. Find and display the account number with the highest cost
5. Find and display the account number with the lowest usage
6. Sort and display the cost in ascending order
7. Search and display the accounts which have usage equal to the given usage
8. Exit from the application
1. Read, validate and store account number and internet usage for N customers
This option reads account number and usage for all customers from the keyboard and stores them in two separate single dimension Arrays/ArrayLists. If the account number is less than 1111 and greater than 8888 then an appropriate message should be displayed and the user should be asked to enter a new account number. Similarly if the usage is less than 5 GB and greater than 1000 GB then an appropriate message should be displayed and the user should be asked to enter a new usage.
2. Calculate, store and display the cost for all customers
This option calculates the cost ($2 for 1 GB), stores in an Array/ArrayList and displays the account number, usage and cost as follows. Example:
Account Number Usage Cost
2123 15 GB $30
3367 5 GB $10
1123 11 GB $22
3. Display all account numbers which have over 10 GB usage
This option displays all account numbers stored in Array/ArrayList which have over 10 GB usage. If there are no customers with over 10GB usage then an appropriate message should be displayed. Example:
Account Number Usage Cost
2123 15 GB $30
1123 11 GB $22
4. Find and display the account with the highest cost
This option finds and displays the account number stored in Array/ArrayList which has the highest cost.
Example:
Account Number Usage Cost
2123 15 GB $30
5. Find and display the account number with the lowest usage
This option finds and displays the account number stored in Array/ArrayList which has the lowest usage. If there is more than one account with the same usage (lowest usage) then it displays all of them.
Example:
Account Number Usage Cost
3367 5 GB $10
6. Sort and display the cost in ascending order
This option sorts and displays the cost stored in Array/ArrayList for all customers in ascending order. You can use any sorting algorithm. A built-in sort algorithm for sorting is not allowed in this assignment. Example:
Account Number Usage Cost
3367 5 GB $10
1123 11 GB $22
2123 15 GB $30
7. Search and display the accounts which have usage equal to the given usage
This option searches Array/ArrayList and displays the accounts which have usage equal to the given usage. The application asks the user to enter the internet usage in GB using the keyboard and searches for it. If the usage entered from the keyboard is found then the application displays account number, usage and cost otherwise it displays an appropriate message. A built-in search algorithm for searching can be used in this assignment.
8. Exit from the application
The application should display the message “Thank you for using this application” and your student id number and then exit from the application.
The application should work in a loop to enable the user to Read, validate and store account number and internet usage for N customers, Calculate, store and display the cost for all customers, Display all account numbers which have over 10 GB usage, Find and display the account number with the highest cost, Find and display the account number with the lowest usage, Sort and display the cost in ascending order, Search and display the accounts which have usage equal to the given usage and Exit from application.
Program design
You may use any design that meets the specification. However, a good design will adhere to the following guidelines:
• be logically correct
• be easy to read and maintain
• be well-designed
• use a UML activity diagram
• use appropriate classes, methods and fields
Your design MUST use the classes and methods as listed below.
public class Account
{
//fields
//get and set methods
}
public class AccountTest {
Method to read, validate and store account number and internet usage for N customers
Method to calculate, store and display the cost for all customers
Method to display all account numbers which have over 10 GB usage
Method to find and display the account number with highest cost
Method to find and display the account number with lowest usage
Method to sort and display the cost in ascending order
Method to search and display the accounts which have usage equal to the given usage
public static void main(String[] args)
{
}
}
You may add/use other methods, parameters, fields/variables, constants, etc. which you need to complete the application.
Testing
Testing is important. You should:
• List the different types of test cases.
• Display the results for each test case.
What to submit
You should submit online the following files.
• Account.java (this file contains java code for class Account)
• AccountTest.java (this file contains java code for class AccountTest).
• Report.docx (this file contains a brief report that includes student name, student ID, course name, course code, UML activity diagram for menu option 2 (calculate, store and display the cost for all customers) and test results (screenshots/test cases with results to show that your application is correctly working)).
Warning: You must submit your own work and correct files. Please read the plagiarism policy.
Assessment 2 marking criteria
Total Marks – 30 Marks Allocated
1 Design, logic and testing – 14
Code readability – appropriate use of comments, indentation and naming conventions 3
Declaring and using fields/variables and constants 2
Creating/declaring and using objects, methods and classes 3
Overall design and logic (structure, efficiency) 2
Validity of testing as evidenced by submitted test results 2
UML activity diagram for menu option 2 2
2 Compilation and execution - 14
(0 - if application doesn't run)
Welcome and exit messages 1
Input data validation and message 1
Read and store account number and usage for N customers 1
Calculate, store and display the cost for all customers 2
Display all account numbers which have over 10 GB usage 1
Find and display the account number with highest cost 1
Find and display the account number with lowest usage 1
Sort and display the cost in ascending order (0 mark if built-in sort method is used) 2
Search and display the accounts which have usage equal to the given usage 2
Overall program execution (user friendly, input/output and display) 2
3 Report – 2
Presentation (fonts, spaces, information, language) 2
4 Penalty
Penalty for submission of incorrect files including names and formats is 2 marks
Penalty for using things not covered in weeks 1-10 of this course is 3 marks
Penalty for late submission is 5%/day