Note that there are some explanatory texts on larger screens.

plurals
  1. POCant find Symbol error
    primarykey
    data
    text
    <p>The compiler gives me an error message saying it can't find movies[x].getTitle() and movies[x].getYear. I've been wondering if it's a problem with going through the interface to get to the classes</p> <p>Here is the error:</p> <pre><code>MathewBorumP5.java:68: error: cannot find symbol System.out.printf("%-26s%-6s%-10s%-9s%-11s\n", movies[x] .getTitle(), ^ symbol: method getTitle() location: interface Profitable MathewBorumP5.java:69: error: cannot find symbol movies[x].getYear(), movies[x].calcRevenue(), ^ symbol: method getYear() location: interface Profitable 2 errors </code></pre> <p>Here is my client class:</p> <pre><code>import java.util.Scanner; public class MathewBorumP5 { public static void main(String[] args) { int choice; boolean restart = true; Scanner input = new Scanner(System.in); Profitable[] movies = new Profitable[6]; movies[0] = new Animated("Beauty and the Beast", "Gary Trousdale", 1991, 10.0, 5.0, 2.0); movies[1] = new Animated("Peter Pan", "Clyde Geronimi", 1953, 2.0, 1.2, .5); movies[2] = new Documentary("Planet Earth", "Alastair Fothergill", 2006, 10, 20, 5); movies[3] = new Documentary("Drain the Ocean", "Steve Nichols", 2009, 9, 2,3); movies[4] = new Drama("The Shawshank Redemption", "Frank Darabont", 1994, 89, 7, 2); movies[5] = new Drama("The Godfather", "Francis Coppola", 1972, 10, 3, 5); do { menu(); System.out.print("Enter a number from 1 - 5: "); choice = input.nextInt(); System.out.print("\n"); switch(choice) { case 1: item1(movies); break; case 2: break; case 3: break; case 4: break; case 5: restart = false; break; default: System.out.print("You didn't enter a number between 1" + " and 5.\n"); break; } } while(restart == true); } public static void menu() { System.out.print("Warren Moore Movie Menu\n"); System.out.print("1. Show the list of movies in the array\n"); System.out.print("2. Display the total number of movies and the total" + " revenues\n"); System.out.print("3. Search movie by title\n"); System.out.print("4. Display movies sorted by profit in decreasing" + " order\n"); System.out.print("5. Exit\n"); } public static void item1(Profitable[] movies) { double revenue; System.out.printf("%-26s%-6s%-10s%-9s%-11s\n", "Title", "Year", "Revenue", "Profit", "Category"); for(int x = 0; x &lt;= 6; x++) { revenue = movies[x].calcRevenue(); System.out.printf("%-26s%-6s%-10s%-9s%-11s\n", movies[x].getTitle(), movies[x].getYear(), movies[x].calcRevenue(), movies[x].calcProfit(revenue), movies[x].category()); } } } </code></pre> <p>Here is my superclass:</p> <pre><code>public class Movie implements Profitable { protected String title; protected String director; protected int year; protected double productionCost; private int totalMovies = 0; public Movie() { totalMovies++; } public Movie(String newTitle, String newDirector, int newYear, double newCost) { totalMovies++; title = newTitle; director = newDirector; year = newYear; productionCost = newCost; } public int getTotalMovies() { return totalMovies; } public String getTitle() { return title; } public void setTitle(String newTitle) { this.title = title; } public String getDirector() { return director; } public void setDirector(String director) { this.director = director; } public int getYear() { return year; } public void setYear(int year) { this.year = year; } public double getProductionCost() { return productionCost; } public void setProductionCost(double productionCost) { this.productionCost = productionCost; } public String toString() { return ""; } } </code></pre> <p>Here are my separate classes. public class Animated extends Movie implements Profitable { private double rate; private double income;</p> <pre><code>public Animated() { super(); } public Animated(String title, String director, int year, double cost, double rate, double income) { super(title, director, year, cost); this.rate = rate; this.income = income; } public double getRate() { return rate; } public void setRate(double rate) { this.rate = rate; } public double getIncome() { return income; } public void setIncome(double income) { this.income = income; } public String category() { return "Animated"; } public double calcRevenue() { return (income * rate); } public double calcProfit(double revenue) { return (revenue - super.productionCost); } public String toString() { return (super.toString() + ""); } } </code></pre> <p>Number 2</p> <pre><code>public class Documentary extends Movie implements Profitable { private int distributors; private double premium; public Documentary() { super(); } public Documentary(String title, String director, int year, double cost, int distributors, double premium) { super(title, director, year, cost); this.distributors = distributors; this.premium = premium; } public int getDistributors() { return distributors; } public void setDistributors(int distributors) { this.distributors = distributors; } public double getPremium() { return premium; } public void setPremium(double premium) { this.premium = premium; } public String category() { return "Documentary"; } public double calcRevenue() { return (distributors * premium); } public double calcProfit(double revenue) { return (revenue - super.productionCost); } public String toString() { return (super.toString() + ""); } } </code></pre> <p>Number 3</p> <pre><code>public class Drama extends Movie implements Profitable { private int tickets; private double avgPrice; public Drama() { super(); } public Drama(String title, String director, int year, double cost, int tickets, double avgPrice) { super(title, director, year, cost); this.tickets = tickets; this.avgPrice = avgPrice; } public int getTickets() { return tickets; } public void setTickets(int tickets) { this.tickets = tickets; } public String category() { return "Drama"; } public double calcRevenue() { return (tickets * avgPrice); } public double calcProfit(double revenue) { return (revenue - super.productionCost); } public String toString() { return (super.toString() + ""); } } </code></pre> <p>And finally my interface.</p> <pre><code>public interface Profitable { public abstract String category(); public abstract double calcRevenue(); public abstract double calcProfit(double revenue); } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload