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 account number and balance for N bank 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 S0159226 then N should be equal to 9 and you can declare it as final int N=9;). The account number and balance must be stored in two 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 999 and 9999. The minimum and maximum account balances which can be stored are $1 and $100000. The account number and balance 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 balance for N customers
2. Display account number and balance for all customers
3. Display all account numbers which have $1 balance
4. Find and display the account balances which have below the average balance
5. Find and display the account number with the largest balance
6. Sort and display the account balances in descending order
7. Search and display the accounts which have balance equal to the given balance
8. Exit from application
1. Read, validate and store account number and balance for N customers This option reads account number and balance for all customers from the keyboard and stores them in two separate single dimension arrays/arrayLists. If the account number is less than 999 and greater than 9999 then an appropriate message should be displayed and the user should be asked to enter a new account number. Similarly if the balance is less than $1 and greater than $100000 then an appropriate message should be displayed and the user should be asked to enter a balance.
2. Display account number and balance for all customers
This option displays the account number and balance stored in Arrays/ArrayLists for all customers.
3. Display all account numbers which have $1 balance
This option displays all account numbers stored in Array/ArrayList which have $1 balance.
4. Find and display the account balances which have below the average balance
This option finds and displays the account balances stored in Array/ArrayList which have balance below the average balance.
5. Find and display the account number with the largest balance
This option finds and displays the account number stored in Array/ArrayList which has largest balance. If there is more than one account with the same balance (largest balance) then it displays all of them.
6. Sort and display the account balances in descending order
This option sorts and displays account balances stored in Array/ArrayList for all customers in descending order. You must use the Selection Sort algorithm. A built-in sort algorithm for sorting is not allowed in this assignment.
7. Search and display the accounts which have balance equal to the given balance
This option searches Array/ArrayList and displays the accounts which have balance equal to the given balance. The application asks the user to enter a balance using the keyboard and searches for it. If the balance entered from the keyboard is found then the application displays account number and balance otherwise it displays an appropriate message. A built-in search algorithm for searching can be used in this assignment.
8. Exit from application
The application should display the message "Thank you" and your student id number and then exit from application.
The application should work in a loop to enable the user to read, validate and store account number and balance for N customers, display account number and balance for all customers, display all account numbers which have $1 balance, find and display the account balances which have below the average balance, find and display the account number with the largest balance, sort and display the account balances in descending order, search and display the customers which have balance equal to the given balance and exit from application.