Assignment 6 – Netfliks Movie Database

Maximum Points = 50

The purpose of this assignment is to focus on the study of classes, objects, GUI, and to the linked list data structure. In this assignment you will write a program that reads in a list of movies and stores the movies in a linked list for later retrieval. The application is a system for managing the movies on a site similar to Netflix. [You must define and use your own list; DO NOT USE ARRAYLISTS or the LinkedList class!]

 

A)   Each movie record contains a name of a movie (e.g. Star Trek), year released (e.g. 2009), MPAA Rating (G, PG, PG-13, R, NC-17), duration of video (in minutes, e.g. 126), Genre (e.g. Comedy), and Member Rating (0.0-5.0).

B)   Your program will read in the name of the file (i.e. movies.dat) to store and/or retrieve the movie records (from keyboard, FileChooser or GUI).

C)    If the file does not exist, then your program will create a brand-new movie list and store it in the file.

D)    If the requested file exists, your program will retrieve the data for all of the previously entered movie data from the file and the user can continue to update the PlayList. Each movie is on a separate line and each field is separated by the # symbol. E.g.

Star Wars#1977#PG#123#Science Fiction#4.5

E)   Your program should then provide the user with a menu that allows the user to do at least 3:

a.    Display a list of all movies listing ALL of the information

b.    Display a list of JUST the movie names for all movies

c.    Display a list of JUST the movie names for all movies with a specified MPAA rating

d.    Add a movie by either specifying the location (starting at position 1) or by placing it at the end of the list if the location is not specified or the location is invalid. (make sure that the data is valid as it is entered)

e.    Remove a movie

f.     Change the location of the movie

g.    Exit the menu

 

(Due before class on Wednesday, April 20, 2011) Submit a .doc file containing a UML class diagram for ALL the classes used in your program.

(Due on Friday, April 29, 2011 before 5 pm) Submit your .java files containing your program.

 Grades are determined using the following scale:

Grading Rubric  (Word document)