subject
Computers and Technology, 12.05.2021 04:30 Jasten

You are tasked by your Project lead to create a console-based Movie Database Management System. This application must be able to handle creating new entries in a proprietary database as well as returning searches for items in the current database. ! Use the filename "db. txt" as your database file to save to and load in upon program start!
You MUST implement the following for full credit:
Start the program by displaying the title of your program (you come up with a name)
Have a primary prompt that allows you to enter commands
(e. g. "Enter command >" )
Interpret primary commands and move to secondary states based on the commands entered. Commands you must support at the primary prompt are:
a.) new entry
b.) search by actor
c.) search by year
d.) search by runtime (in minutes)
e.) search by director
f.) search by title
g.) quit
Your secondary states must do the following:
For "new entry" → Prompts to do the following:
Enter title >
Enter year >
Enter runtime (minutes) >
Enter actor 1 >
Enter actor 2 >
Enter Director >
You must add this entry into the database in one-line (use delimiters between tokens; come up with your own strategy for token order but BE CONSISTENT!)
After entry, return to the main command state...
For "search by actor" → Prompts to:
Enter actor >
Once actor is entered, search database (hopefully already in memory.) Display a list of movie titles that the actor has been in. This must display the titles of movies actor has been in regardless of if actor was actor 1 or actor 2. (If nothing found, display "No titles found for actor" and return to main prompt.)
After entry, return to the main command state...
For "search by year" → Prompt to:
Enter year >
Once year is entered, search database and return list of titles made in that year. (If nothing found, display "No titles found for year" and return to main prompt.)
After entry, return to the main command state...
For "search by runtime" → Prompts to:
Enter runtime (minutes) >
Search like how you did for year. Display list and return to main prompt. If nothing found, display a prompt saying so and return to main prompt.
For "search by director" → Prompts to:
Enter director >
Do the same thing as you did with the actor search. Return list of titles the director has done and return to main prompt. If none found, post message and return to main prompt.
After entry, return to the main command state...
For "search by title" → Prompts to:
Enter title >
If the title is found, return the following about title:
Actors: actor1, actor 2
Director: director name
Year: year made
Runtime: x minutes
if title not found, post message saying so and return to main prompt.
After entry, return to the main command state.
For "quit" → This simply exits the program (close out any open I / O streams prior to exit!)
Other Requirements:
You must make this object-oriented. You need to have a MINIMUM of four (4) different classes interacting with the main method. The minimum classes are:
File I/O class (for saving / loading the database) You can make these two classes; one for read / one for write if you want.
Keyboard input class (handles declaring Scanner object, retrieving text input, closing object)
Class representing a single entry. Use this to easily pass entry information around as a parameter. This class must contain private fields for:
title, actor1, actor2, year, runtime, director
Also, use get methods (public) to retrieve data from fields
Have a class that extends the functionality of the single-entry class and holds the whole current database as a class object. (Hint: You can use an ArrayList behind-the-scenes to do this.)
Create get method that can lookup single entry based on certain criteria (index number, search by criteria, etc.) You can overload your get method if you wish.
You MUST save every entry added to the database to file. This entry must be able to be restored later.
You MUST check that a new entry is valid before adding it to memory (and the database.) To be valid, the entry must have at least a title (minimum length of valid title is three characters.) All other fields can be empty as needed.

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 23.06.2019 04:31
Selling a product through an electronic medium is
Answers: 1
question
Computers and Technology, 23.06.2019 05:00
Which best explains why a digital leader would join a society specializing in technology
Answers: 1
question
Computers and Technology, 25.06.2019 04:00
Has anyone noticed that has been giving the wrong answers and that the ads are blocking answers or is that just me?
Answers: 2
question
Computers and Technology, 25.06.2019 08:10
A(n) is a step-by-step direction for performing a specific task, which is written in a language the computer can understand.servercachearrayprogram
Answers: 1
You know the right answer?
You are tasked by your Project lead to create a console-based Movie Database Management System. This...
Questions
question
Chemistry, 21.02.2020 06:02
question
Mathematics, 21.02.2020 06:03
question
SAT, 21.02.2020 06:04
Questions on the website: 13722363