|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import java.util.ArrayList;
-
- public class Customer {
-
- private final String name;
- private final ArrayList<Rental> rentals = new ArrayList<>();
-
- public Customer( String name ) {
- this.name = name;
- }
-
- public void addRental( Rental arg ) {
- rentals.add( arg );
- }
-
- public String getName() {
- return name;
- }
-
- public String statement() {
- // add header
- StringBuilder result = new StringBuilder();
- result.append("Rental Record for ").append(getName()).append("\n");
-
- // add line for each rental
- for( Rental curRental : rentals ) {
- // show figures for this rental
- result.append("\t").append(curRental.getMovie().getTitle()).append("\t days rented: ").append(curRental.getDaysRented()).append(" = ").append(String.valueOf( curRental.calculateFee() )).append("\n");
- }
- // add footer lines
- result.append("Amount owed is ").append(String.valueOf( getTotalAmount() )).append("\n");
- result.append("You earned ").append(String.valueOf( getFrequentRenterPoints() )).append(" frequent renter points");
- return result.toString();
- }
-
- public String htmlStatement() {
- StringBuilder result = new StringBuilder();
- result.append("<html>").append("\n");
- result.append("<h1>").append("Rental Record for ").append(getName()).append("</h1>").append("\n");
-
- for(Rental curRental : rentals) {
- result.append("<p>");
- result.append("\t").append(curRental.getMovie().getTitle());
- result.append("\t days rented: ").append(curRental.getDaysRented());
- result.append(" = ").append(String.valueOf(curRental.calculateFee())).append("\n");
- result.append("</p>\n");
- }
- result.append("<h3>Amount owed is ").append(String.valueOf(getTotalAmount())).append("</h3>\n");
- result.append("<h3>You earned ").append(String.valueOf(getFrequentRenterPoints())).append(" frequent renter points</h3></html>");
- return(result.toString());
- }
-
- private int getFrequentRenterPoints() {
- int frequentRenterPoints = 0;
- for( Rental curRental : rentals ) {
- // add frequent renter points
- frequentRenterPoints += curRental.calculateBonus();
- }
- return frequentRenterPoints;
- }
-
- private double getTotalAmount() {
- double totalAmount = 0;
- for( Rental curRental : rentals ) {
- double thisAmount = curRental.calculateFee();
- totalAmount += thisAmount;
- }
- return totalAmount;
- }
-
- }
|