import java.util.*; /** The Movie class @author Patrick Prosser @ version 3.1412 */ public class Movie { private String title; private ArrayList actors; private String year; public Movie(MovieReader fin) { title = fin.nextTitle(); actors = new ArrayList(); while (fin.hasNextActor()) actors.add(fin.nextActor()); int n = title.length(); while (title.charAt(n-1) != '(') n--; year = title.substring(n,n+4); } // // NOTE: year is sometimes "????" // public String getTitle(){return title;} public String getYear(){return year;} public ArrayList getActors(){return actors;} public String toString(){ StringTokenizer x = null; String s = "Title: " + title + "\n"; for (String actor : actors) s = s + actor + " // "; return s; } /** Does this actor (surname only) star in this movie? */ public boolean stars(String actor){ StringTokenizer s = null; for (String x : actors){ s = new StringTokenizer(x,", "); if (actor.equals(s.nextToken())) return true; } return false; } public boolean stars(String actorFirstname, String actorSurname){ StringTokenizer s = null; String s1,s2; s1 = s2 = ""; for (String x : actors){ s = new StringTokenizer(x,", "); if (s.hasMoreTokens()) s1 = s.nextToken(); if (s.hasMoreTokens()) s2 = s.nextToken(); //System.out.println(actorSurname +" "+ s1 +" "+ actorFirstname +" "+ s2); if (actorSurname.equals(s1) && actorFirstname.equals(s2)) return true; } return false; } public boolean titleMatch(String target){ int n1 = target.length(); int n2 = title.length(); //System.out.println(target +" = "+ title + "-> "+ title.substring(0,n1)); return (n1 == n2 && target.equals(title)) || (n1 < n2 && target.equals(title.substring(0,n1))); } }