// // The rental class represents a customer renting a movie. // public class Rental { private Movie movie; private int daysRented; public Rental( Movie movie, int daysRented ) { this.movie = movie; this.daysRented = daysRented; } public int daysRented() { return daysRented; } public Movie movie() { return movie; } public double price() { double amount = 0.0; switch ( movie().priceCode() ) { case Movie.REGULAR: amount = amount + 2; if ( daysRented() > 2 ) amount = amount + (daysRented() - 2) * 1.5; break; case Movie.NEW_RELEASE: amount = amount + daysRented() * 3; break; case Movie.CHILDRENS: amount = amount + 1.5; if ( daysRented() > 3 ) amount = amount + (daysRented() - 3) * 1.5; break; } return amount; } public int renterPoints() { int frequentRenterPoints = 1; // with a bonus for a two-day new release rental if ( movie().priceCode() == Movie.NEW_RELEASE && daysRented() > 1 ) frequentRenterPoints = frequentRenterPoints + 1; return frequentRenterPoints; } }