Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Using JAVA language USING JAVA LANGUAGE You are hired by a bookstore to write a software that helps the store owner in keeping track of
Using JAVA language
USING JAVA LANGUAGE
You are hired by a bookstore to write a software that helps the store owner in keeping track of the books at the store. Write a driver program that will contain, at least, the following methods. Note: You can have the main function in a separate driver file, or in the same file if you prefer 1. a main0 method, that will a. Display a welcome message b. Prompt the bookstore owner for the maximum number of books (maxBooks) his/her bookstore can contain. Create an empty array, called inventory, that will have the potential of keeping track of the created Book objects Display a main menu (fig 1) with the following choices and keep prompting the user until they enter a number between 1 and 5 inclusive: c. What do you want to do? 1. 2. 3. 4. 5. Enter new books (password required) Change information of a book (password required) Display all books by a specific author Display all books under a certain a price. Quit Fig 1. Main men Please enter your choice> d. When option 1 is entered i. Prompt the bookstore owner for his/her password. (Make sure you have a constant variable containing the password "password" - do not use any other password as it will be easier for the marker to check your assignments). The bookstore owner has a maximum of 3 attempts to enter the correct password. After the 3"d illegal entry, the main menu in figure 1 is re-displayed again. Additionally after this process is repeated 4 times (i.e. total failed attemopts is 12 by now), the program must displays the following messages: "Program the program must exits. detected suspicous activities and will terminate immediately!", then ii. If the correct password is entered, ask the owner how many books s/he wants to enter Check that there is enough space in the bookstore (array of Book) to add these many books. If so, add them; otherwise inform the owner of the maximum remaining places in the array. (How the book information is input/entered by the user, is up to you) e. When option 2 is entered: i. Prompt the bookstore owner for his/her password. (Make sure you have a constant containing the password "password" as a constant - do not use another password) Again the bookstore owner has 3 attempts to enter the correct password. However, after the 3"d illegal entry, the main menu in figure 1 is simply re-displayed again (notice the different behaviour in that case from the previous one above) ii. Ask the user which book number she wishes to update. The book number is the index in the array inventory. If there is no Book object at the specified index location, display a message asking the user if he/she wishes to re-enter another book, or quit this operation and go back to the main menu. If the entered index has a valid book, display the current information of that book in the following format: Book # X Author: name of author Title: title of book ISBN: isbn # Price: $price Then ask the user which attribute they wish to change by displaying the following menu What information would you like to 1. author 2. title 3. ISBN Fig 2. Update menu price 5. Quit Enter your choice> Once the user has entered a correct choice, make the changes to the attribute then display again all of the attributes on the screen to show that the attribute has been changed. Keejp prompting the user for additional changes until the user enters 5. Each time the user is prompted for a choice make sure that a number from 1 to 5 is entered, otherwise keep prompting until a valid number is entered. f. When option 3 (in the main menu shown in Fig. 1) is entered, prompt the user to enter an author name. You then need to display the information of all books by that requested author. (Hint: You may use a static method, for instance called findBooksBy, whiclh accepts a string for an author name then performs the needed search) g. When option 4 (in the main menu shown in Fig. 1 is entered, promtp the user to enter a value (representing a price). You them need to display all books that have a vlaue smaller than that entered value. (Hint: You may use a static method, for instance calleed findCheaperThan, which accepts a double value, for a price, then performs the needed search) h. When option5 in the main menu shown in Fig. 1) is entered, display a closing message and end the driverStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started