Transcript Lec14r.ppt
Homework 14
• Due
Sun., 12/7
( MT sections )
Mon., 12/8
( WTh sections )
at midnight
• Problems
http://www.cs.hmc.edu/courses/2003/fall/cs5/week_14/homework.html
• Tutors available
Saturday afternoons
Parsons Lab only (maybe)
Sunday afternoons
Lac Lab and Parsons
Sunday evenings
Lac Lab and Parsons
Monday evenings
Lac Lab and Parsons
• Tutors available -- contact information
• Tutors available -- lab places and times
Available in Parsons PC
Labs (the CIS classrooms)
Available in the LAC Lab
(Linde Activities Center)
You may also seek out tutors away from
the labs, by phone, in the dorms, etc.
Visualizing Objects
int capacity
int count
Film[] films films[0]
type
name
addFilm
name
films[2]
displayAllFilms
…
…
FilmDB
allFilms
int capacity
int count
Director[] dirs
type
films[1]
addDirector
DirectorDB
allDirs
dirs[0]
dirs[1]
dirs[2]
displayAllDirectors
…
Visualizing Objects
Director dir
String rating
String title double review int year
type
name
display
Film
f
String fname
String lname
type
name
getTitle
getFullName
Director
d
FilmDB filmDB
getFilmDB
…
Overview
public static void main(String[] args)
{
// create a FilmDB and a DirectorDB…
// start a large while loop
Option 7 -- high level
if (uc == 7)
// adding a film
(1) get title
(2) check if film is already there!
(3) get director’s first and last name
(4) check if director is already there!
(5) create and add director, d if needed
(6) get year, rating, and review
(7) create new film f
(8) ADD
to allFilms
f to d’s filmDB
f
Method Matching
addFilm
allFilms (a FilmDB)
addDirector
getFullName
allDirs (a DirectorDB)
displayAllFilms
getFilmDB
displayFilmsByDirector
f
(a Film)
displayAllDirectors
getTitle
d
(a Director)
findDirectorByName
checkForFilm
Option 7 -- high level
if (uc == 7)
// adding a film
This space for rent...
cheap!
Finding a director...
int capacity
int count
Director[] dirs
dirs[0]
addDirector
dirs[1]
dirs[2]
…
displayAllDirectors
// inside class DirectorDB
public Director findDirectorByName(String fname, String lname)
Getting a Director’s name
String fname
String lname
getFullName
// inside class Director
public String getFullName()
FilmDB filmDB
getFilmDB
…
Printing a director’s films
int count
Director[] dirs
addDirector
dirs[0]
dirs[1]
dirs[2]
…
displayAllDirectors
// inside class DirectorDB
public void displayFilmsByDirector(String fname, String lname)
Other methods...
// inside class DirectorDB
public void displayFilmsByDirector(String fname, String lname)
int
Film[]
type
films[1]
films[2]
…
dirs[2]
…
FilmDB
int
Director[]
type
films[0]
DirectorDB
dirs[0]
dirs[1]
Visualizing Objects
count
films
addFilm
name
displayAllFilms
…
FDB
count
dirs
addDirector
name
DDB
displayAllDirectors
Visualizing Objects
dir
title
display
name
getTitle
f
fname
lname
getFullName
name
rating
review
year
d
filmDB
getFilmDB
…
Visualizing Objects
Director
String
type
Film
String
String
type
String
double
Director
FilmDB
int
Finding a director...
// inside class DirectorDB
public Director findDirectorByName(String fname, String lname)
int count
Director[] dirs
addDirector
String fname
String lname
getFullName
int count
Director[] dirs
addDirector
dirs[0]
dirs[1]
dirs[2]
…
displayAllDirectors
FilmDB filmDB
getFilmDB
dirs[0]
dirs[1]
…
dirs[2]
displayAllDirectors
…
Printing a director...
// inside class Director
public String getFullName()
Printing a director’s films
// inside class DirectorDB
public void displayFilmsByDirector(String fname, String lname)
Homework 14
• Due
Sun., 12/9
Mon., 12/10
( MT sections )
at midnight
( WTh sections )
• Problems
http://www.cs.hmc.edu/courses/2001/fall/cs5/week_14/homework.html
• Tutors available
Saturday afternoons
Lac Lab
Sunday afternoons
Lac Lab and AC
Sunday evenings
Lac Lab and AC
Monday evenings
Lac Lab and AC
Joanna Wu & Jenny Xu LAC
Andrew Klose & Jessica Lee in AC
M. Chase & Chris Lee - LAC
W. Berriel & A. Klose - AC
Overview
public static void main(String[] args)
{
// Create a FilmDB and a DirectorDB
Overview
// create a FilmDB and a DirectorDB…
// start a large while loop
Option 7 -- high level
if (userchoice == 7)
// adding a film
Option 7 -- high level
if (userchoice == 7)
// adding a film
(1) get title
(2) check if film is already there!
(3) get director’s first and last name
(4) check if director is already there!
(5) create and add director, d if needed
(6) get year, rating, and review
(7) create new film f
(8) ADD
to DDB
f to FDB
f to d’s filmDB
d
Method Matching
addFilm
FDB (a FilmDB)
addDirector
getFullName
DDB (a DirectorDB)
displayAllFilms
getFilmDB
displayFilmsByDirector
f
(a Film)
displayAllDirectors
getTitle
d
(a Director)
findDirectorByName
findFilmByTitle
Option 7 -- code
if (userchoice == 7)
// adding a film