Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

**PLEASE HELP ME COMPLETE THIS QUESTION IN JAVA** 8.02) Create a class named Movie that can be used with your video rental business. The Movie

**PLEASE HELP ME COMPLETE THIS QUESTION IN JAVA**

8.02) Create a class named Movie that can be used with your video rental business. The Movie class should track the Motion Picture Association of America (MPAA) rating (e.g., Rated G, PG-13, R), ID Number, and movie title with appropriate accessor and mutator methods. Also create an equals() method that overrides Objects equals() method, where two movies are equal if their ID number is identical. Next, create three additional classes named Action, Comedy, and Drama that are derived from Movie. Finally, create an overridden method named calcLateFees that takes as input the number of days a movie is late and returns the late fee for that movie. The default late fee is $2/day. Action movies have a late fee of $3/day, comedies are $2.50/day, and dramas are $2/day. In main method, make one Movie class which is also Action, one that is also Comedy and one that is also Drama. Ask user to enter a movie ID and how many days it was late to display late fee.

**IT HAS TO FOLLOW THIS RESULT**:

EntermovietitleformovietypeAction:Furious7

Entermovieid:83824545

Entermovierating(G,PG,PG13,R,NC17):PG13

EntermovietitleformovietypeComedy:GetHard

Entermovieid:78522254

Entermovierating(G,PG,PG13,R,NC17):R

EntermovietitleformovietypeDrama:Titanic

Entermovieid:23555458

Entermovierating(G,PG,PG13,R,NC17):PG13

Entermovieidnumber:23555458

Enternumberofdaysmoviewaslate:2

Latefeefor23555458,movietypeDramais$4.0

**MY CODE**:

//Movie.java class Movie { //instance variables String rating; int idNumber; String movieTitle; // constructor Movie(String rating, int idNumber, String movieTitle){ this.rating=rating; this.idNumber=idNumber; this.movieTitle=movieTitle; }

// getter and setter public String getRating() { return rating; } public void setRating(String rating) { this.rating = rating; } public int getIdNumber() { return idNumber; } public void setIdNumber(int idNumber) { this.idNumber = idNumber; } public String getMovieTitle() { return movieTitle; } public void setMovieTitle(String movieTitle) { this.movieTitle = movieTitle; } // equal() overrides Objects equal() public boolean equals(Object o) { Movie checkIdNumber = (Movie)o;

return checkIdNumber.idNumber == idNumber; } // calculate LateFess float calcLateFees(int days){ float lateFees = 2; lateFees*=days; return lateFees; } // override toString() for displaying output public String toString(){ return "Rating="+getRating()+"\t"+"Id Number="+getIdNumber()+"\t"+"Movie title="+getMovieTitle(); }

}

class Action extends Movie{ Action(String rating, int idNumber, String movieTitle){ super(rating,idNumber,movieTitle); // inherits the super class properties } // overrides calculateFees() in Movie Class float calcLateFees(int days){ float lateFees = 3; lateFees*=days; return lateFees; } }

class Comedy extends Movie{ Comedy(String rating, int idNumber, String movieTitle){ super(rating,idNumber,movieTitle); } float calcLateFees(int days){ float lateFees = 2.50f; lateFees*=days; return lateFees; } }

class Drama extends Movie{ Drama(String rating, int idNumber, String movieTitle){ super(rating,idNumber,movieTitle); } float calcLateFees(int days){ float lateFees = 2; lateFees*=days; return lateFees; } }

class Tst{ public static void main(String args[]){ // creating objects Movie m1=new Comedy("PG",111,"housefull"); Movie m2=new Action("PG-13",222,"Action Jackson"); Movie m3=new Drama("R",333,"Kuch kuch hota hai"); Movie m4=new Movie("R",111,"bhootnath"); // getting values and passing arguments to calculate LateFees and checking duplicate Id Number System.out.println(m1.toString()+"\t"+"Id exists="+m1.equals(m3)+"\t"+"LateFees="+m1.calcLateFees(2)); System.out.println(m2.toString()+"\t"+"Id exists="+m2.equals(m3)+"\t"+"LateFees="+m2.calcLateFees(4)); System.out.println(m3.toString()+"\t"+"Id exists="+m3.equals(m3)+"\t"+"LateFees="+m3.calcLateFees(6)); System.out.println(m4.toString()+"\t"+"Id exists="+m4.equals(m1)+"\t"+"LateFees="+m4.calcLateFees(4));

} }

**Result**:

CODELAB ANALYSIS: LOGICAL ERROR(S)

Problems Detected: The contents of your standard output is incorrect.

Given the following was entered from the keyboard: Furious 7 83824545 PG13 Get Hard 78522254 R Titanic 23555458 PG13 ... you displayed: instead of: Enter movie title for movie type Action:Enter movie id:Enter movie rating (G, PG, PG13, R, NC17):Enter movie title for movie type Comedy:Enter movie id:Enter movie rating (G, PG, PG13, R, NC17):Enter movie title for movie type Drama:Enter movie id:Enter movie rating (G, PG, PG13, R, NC17): Enter movie id number:Enter number of days movie was late:Late fee for 23555458, movie type Dramais $4.0

**PLEASE HELP ME TO FIX THE CODE TO THE EXPECTED OUTPUT**

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions