How do I fix Java? Error: Error ---------- Movie.toString() returns: Movie: [ Minutes 142 | Movie Name: The Shawshank Redemption | not kid friendly | Number of Cast Members: 3 | Cast Members: Tim Robins, Morgan Freeman, Bob Guton ]
How do I fix Java?
Error:
Error ---------- Movie.toString() returns:
Movie: [ Minutes 142 | Movie Name: The Shawshank Redemption | not kid friendly | Number of Cast Members: 3 | Cast Members: Tim Robins, Morgan Freeman, Bob Guton ]
instead of: Movie: [ Minutes 142 |
Movie Name: The Shawshank Redemption | not kid friendly | Number of Cast Members: 3 | Cast Members: Tim Robins, Morgan Freeman, Bob Guton ]
Code:
import java.util.*;
import java.util.Arrays;
public class Movie
{
private String movieName;
private int numMinutes;
private boolean isKidFriendly;
private int numCastMembers;
private String[] castMembers;
public Movie(){
this.movieName = "Flick";
this.numMinutes = 0;
this.isKidFriendly = false;
this.numCastMembers = 0;
this.castMembers = new String[10];
}
public Movie(String movieName, int numMinutes, boolean isKidFriendly, String[] castMembers) {
this.movieName = movieName;
this.numMinutes = numMinutes;
this.isKidFriendly = isKidFriendly;
this.numCastMembers = 0;
this.castMembers = new String[castMembers.length];
for (int i = 0; i < castMembers.length; ++i) {
this.castMembers[i] = castMembers[i];
if (castMembers[i] != null)
this.numCastMembers++;
}
}
public void setNumMinutes(int numMinutes)
{
this.numMinutes = numMinutes;
}
public void setMovieName(String movieName)
{
this.movieName = movieName;
}
public void setIsKidFriendly(boolean isKidFriendly)
{
this.isKidFriendly = isKidFriendly;
}
public String getMovieName()
{
return this.movieName;
}
public int getNumMinutes()
{
return this.numMinutes;
}
public boolean isKidFriendly()
{
return this.isKidFriendly;
}
public String[] getCastMembers()
{
String[] copyCastMembers = new String[this.castMembers.length];
for (int i = 0; i < this.castMembers.length; i++)
{
copyCastMembers[i] = this.castMembers[i];
}
return copyCastMembers;
}
public int getNumCastMembers()
{
return this.numCastMembers;
}
public boolean replaceCastMember(int index, String castMemberName)
{
if (index < 0 || index >= numCastMembers)
return false;
castMembers[index] = castMemberName;
return true;
}
public boolean doArraysMatch(String[] arr1, String[] arr2)
{
if (arr1 == null && arr2 == null)
return true;
else if (arr1 == null || arr2 == null) // one of the array is null
return false;
else if (arr1.length != arr2.length) // length of arrays do not match
return false;
for (int i = 0; i < arr1.length; i++)
{
if (!arr1[i].equalsIgnoreCase(arr2[i]))
return false;
}
return true;
}
public String getCastMemberNamesAsString()
{
if (numCastMembers == 0)
{
return "none";
}
String names = castMembers[0];
for (int i = 1; i < numCastMembers; i++)
{
names += ", " + castMembers[i];
}
return names;
}
public String toString() {
String movie = "Movie: [ Minutes " + String.format("%03d", numMinutes) + " | " + "Movie Name: " + " " +movieName + " "+ "|";
StringBuilder builder = new StringBuilder();
if (isKidFriendly)
movie += " is kid friendly |";
else
movie += " not kid friendly |";
String memberOut = "";
for(int i = 0;i<castMembers.length;i++){
if(i<castMembers.length-1){
memberOut += castMembers[i]+", ";
}
else{
memberOut += castMembers[i];
}
}
movie += " Number of Cast Members: " + numCastMembers + " | Cast Members: " +memberOut +" ]";
return movie;
}
public boolean equals(Object o) {
if (o instanceof Movie) {
Movie other = (Movie) o;
return ((movieName.equalsIgnoreCase(other.movieName)) && (isKidFriendly == other.isKidFriendly) && (numMinutes == other.numMinutes) && (numCastMembers == other.numCastMembers) && (doArraysMatch(castMembers, other.castMembers)));
}
return false; // movies are not equal or o is not an object of Movie
}
public static void main(String args[]){
String arr[]= {"Tim Robins", "Morgan Freeman", "Bob Guton"};
Movie movie = new Movie(" The Shawshank Redemption", 142, false, arr);
System.out.println(movie.toString());
}
}

Trending now
This is a popular solution!
Step by step
Solved in 2 steps









