Project 1

USFlix step 1 - build a movie database

Due Wed., Feb. 22 11:55pm. Submission through SVN.
Please submit your work in an SVN directory
https://www.cs.usfca.edu/svn/< your username >/cs112/proj1

Learning outcome

You will practice how to read frome a file, how to use an array of Strings, and how to use methods in String class.

Goal

Your program will load the title and year information of 148 movies from movies.txt and build a database of these movies. Once the database is built, your program lets the user search movies by title keywords.

Specification

Submission

Submit Driver.java and README. In the README, include your pseudo code and explain your design decisions. For example, explain how your program does search given multiple keywords.

Grading

Note that the efficiency of your algorithm is part of functionality grade.
  1. Printing matches the example runs (year information is optional). (10%)
  2. Loading the movie information correctly. (40%)
  3. Search by keywords in title correctly. (50%)

Example Run

Example run 1
--------------
Welcome to USFlix!
Enter keywords: iron man
Iron Man (2008)
Iron Man 2 (2010)

Example run 2
--------------
Welcome to USFlix!
Enter keywords: man iron
Iron Man (2008)
Iron Man 2 (2010)

Example run 3
--------------
Welcome to USFlix!
Enter keywords: eternal
Eternal Sunshine of Spotless Mind (2004)

Example run 4
--------------
Welcome to USFlix!
Enter keywords: man
Batman: The Dark Knight Returns
Iron Man
Iron Man 2
Pirates of the Carribean: Dead Man's Chest
Scent of a woman 
Snow White and the Huntsman
Spider-Man
Spider-Man 2
The Amazing Spider Man

Example run 5
--------------
Welcome to USFlix!
Enter keywords: a man
Batman: The Dark Knight Returns
Iron Man
Iron Man 2
Pirates of the Carribean: Dead Man's Chest
Scent of a woman 
Snow White and the Huntsman
Spider-Man
Spider-Man 2
The Amazing Spider Man

Extra credit (up to 10%)

If your program implement the whole-word match, e.g. man does not match woman, you may get extra credit up to 10%. When the keywords have to match whole words, the example runs 4 and 5 above will give different results as below. If you wish to receive extra credit, you need to specify so in your README and explain how your program implements the whole-word match.
Example run 4
--------------
Welcome to USFlix!
Enter keywords: man
Iron Man
Iron Man 2
Pirates of the Carribean: Dead Man's Chest
Spider-Man
Spider-Man 2
The Amazing Spider Man

Example run 5
--------------
Welcome to USFlix!
Enter keywords: a man