Assignment taskWrite a java console application that allows the user to keep track of various… 1 answer below »

Assignment taskWrite a java console application that allows the user to keep track of various items in a grocery shop. The application must allow the user to read, validate, store, display, sort and search the item name (String), item id (integer number), quantity of the item in-stock (integer number), factory price (double number) and shop price (double number) for N items in the grocery shop. 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 S0234111 then N should be equal to 4 and you can declare it as final int N=4;). The item name, item id, quantity of the item in-stock, factory price and shop price must be stored in five separate single dimension Arrays/ArrayLists (index 0 for item 1 and index N-1 for item N). The minimum and maximum id numbers which can be stored are 1 and 333. The minimum and maximum factory prices for each item which can be stored are $1 and $1000. The item id and factory price 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 all items 2. Calculate and store shop price for all items3. Display all items 4. Sell an item5. Display all items with the lowest factory price6. Sort and display sorted items 7. Exit from the application1. Read, validate and store all items This option reads item name, item id, quantity of the item in-stock and factory price for N items from the keyboard and stores them in four separate single dimension Arrays/ArrayLists. If the id number is less than 1 and greater than 333 then an appropriate message should be displayed and the user should be asked to enter a new id number. Similarly if the factory price is less than $1 and greater than $1000 then an appropriate message should be displayed and the user should be asked to enter a new price.2. Calculate and store shop price for all itemsThis option asks user to enter the discount percentage (e.g. 5%), calculates the shop price for each item and then stores shop price in fifth Array/ArrayList. 3. Display all itemsDisplay all information (item name, item id, quantity of the item in-stock, factory price and shop price) for each item in the shop. 4. Sell an item This option asks user to enter item id, searches for that item id and quantity of the item in-stock. If item is found and the quantity of items in-stock is not 0 then it displays a message “item sold” and decreases the quantity of items in-stock by one for that item. If item is not found or item found but the quantity of items in-stock is 0 then it displays a message “item is not in-stock”. A built-in search algorithm for searching can be used in this assignment.5. Display all items with the lowest factory price This option finds and displays the item in Array/ArrayList which has the lowest price. If there is more than one item with the lowest price then it displays all of them. 6. Sort and display sorted items This option sorts (by item name) all items stored in Array/ArrayList in descending order and displays all sorted items (item name, item id, quantity of the item in-stock, factory price, shop price). You can use any sorting algorithm. A built-in sort algorithm for sorting is not allowed in this assignment. 7. Exit from the applicationThe application should display the message an appropriate message with your student id and then exit from the application.The application should work in a loop to enable the user to Read, validate and store all items, Calculate and store shop price for all items, Display all items, Sell an item, Display all items with the lowest factory price, Sort and display sorted items and Exit from the application.Program designYou 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 fieldsYour design MUST use the classes and methods as listed below.public class GroceryShop{ //fields //get and set methods}public class GroceryShopTest{Method to read, validate and store all items Method to calculate and store shop price for all itemsMethod to display all items Method to sell an itemMethod to display all items with the lowest factory priceMethod to sort and display sorted items Method to exit from the application public static void main(String[] args) { } }You may add/use other methods, parameters, fields/variables, constants, etc. which you need to complete the application.TestingTesting 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. • GroceryShop.java (this file contains java code for class GroceryShop) • GroceryShopTest.java (this file contains java code for class GroceryShopTest).• Report.docx (this file contains a brief report that includes student name, student ID, course name, course code, UML activity diagram for menu option 4 (Sell an item) 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. Assessment 2 marking criteria Total Marks – 30 MarksAllocated1 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 4 22 Compilation and execution – 14 (0 – if application doesn't run) Welcome and exit messages 1 Input data validation and message 1 Read and store all items 1 Calculate and store shop price for all items 2 Display all items 1 Sell an item 2 Display all items with the lowest factory price 2 Sort and display sorted items 2 Overall program execution (user friendly, input/output and display) 23 Report – 2 Presentation (fonts, spaces, information, language) 24 Penalty Penalty for submission of incorrect files including names and formats is 2 marks Penalty for late submission is 5% mark / day or part of a day

 

Looking for a Similar Assignment? Hire our Top Uk Tutors while you enjoy your free time! All papers are written from scratch and are 100% Original. Try us today! Active Discount Code FREE15