How do I fix the error Java? Error XXXXXXXXXXMovie.toString() returns: Movie: [ Minutes 142 | Movie Name:The Shawshank Redemption | not kid friendly | Number of Cast Members: 3 | Cast Members: ]...


How do I fix the error Java?


Error ---------- Movie.toString() returns:


Movie: [ Minutes 142 | Movie Name:The Shawshank Redemption | not kid friendly | Number of Cast Members: 3 | Cast Members: ]


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 ]


without bringing this error


Error ---------- Exception occurred while calling Movie.toString()


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;


// default constructor


public Movie()


{


this.movieName = "Flick";


this.numMinutes = 0;


this.isKidFriendly = false;


this.numCastMembers = 0;


this.castMembers = new String[10];


}


// overloaded parameterized constructor


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<>
this.castMembers[i] = castMembers[i];
if(castMembers[i]!=null)
this.numCastMembers++;
}


}
// set the number of minutes


public void setNumMinutes(int numMinutes)


{


this.numMinutes = numMinutes;


}


// set the movie name


public void setMovieName(String movieName)


{


this.movieName = movieName;


}


// set if the movie is kid friendly or not


public void setIsKidFriendly(boolean isKidFriendly)


{


this.isKidFriendly = isKidFriendly;


}


// return the movie name


public String getMovieName()


{


return this.movieName;


}


// return the number of minutes


public int getNumMinutes()


{


return this.numMinutes;


}


// return true if movie is kid friendly else false


public boolean isKidFriendly()


{


return this.isKidFriendly;


}


// return the array of cast members


public String[] getCastMembers()


{


// create a deep copy of the array


String[] copyCastMembers = new String[this.castMembers.length];


// copy the strings from the array to the copy


for (int i = 0; i < this.castmembers.length;="">


{


copyCastMembers[i] = this.castMembers[i];


}


return copyCastMembers;


}


// return the number of cast members


public int getNumCastMembers()


{


return this.numCastMembers;


}


// method that allows the name of a castMember at an index in the castMembers


// array to be changed


public boolean replaceCastMember(int index, String castMemberName)


{


if (index < 0="" ||="" index="">= numCastMembers)


return false;


castMembers[index] = castMemberName;


return true;


}


// method that determines the equality of two String arrays and returns a


// boolean, by comparing the value at each index location.


// Return true if all elements of both arrays match, return false if there is


// any mismatch.


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;="">


{


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;="">


{


names += ", " + castMembers[i];


}


return names;


}


public String toString() {
//"movie".replaceAll("(?!^)([A-Z])", " $1");
String movie = "Movie: [ Minutes "+String.format("%03d", numMinutes)+" | "+"Movie Name:%s"+" "+"|";
StringBuilder builder = new StringBuilder();
for(int i=0;i<>
builder.append(" ");
}


//System.out.println(movie.format(movie,builder.toString()));
//System.out.println(movie.replaceAll("(\\w+?)([A-Z])(\\w+?)", "$1 $2$3"));
if (isKidFriendly)
movie +=" is kid friendly |";
else
movie +=" not kid friendly |";
movie +=" Number of Cast Members: "+ numCastMembers+ " | Cast Members: "+" ]";
return String.format(movie,movieName);
}


public boolean equals(Object o)
{
// check if o is an instance of Movie
if(o instanceof Movie)
{
Movie other = (Movie)o;
// returns true if all the fields are equal
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[])
{

}


}

Jun 07, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here