I may be making this a lot harder than it is...but my assignment was to create a showtimes class that implements Comparable. With this it constructs sort of a list of several different theatres w/ what movies are showing, with the times etc. Then I have to use the compareTo() method to sort it by first the cinema that it's showing in, and by the movie title. I have the following code...the confusion comes when I'm trying to output the sorted results. I have it to where it will output the - or + number from comparing the strings.
public class ShowTimeTest {
public static void main(String[] args) {
ShowTime[] movieTimes= new ShowTime[20];
// TODO Auto-generated method stub
//******************************************************
//Instantiates 20 showtime objects
//******************************************************
ShowTime cinemark1 = new ShowTime("Cinemark", "Lorde", "Friday @ 3:30", "Saturday @ 7:00", "Sunday @ 6:00","R", 1, 2);
ShowTime cinemark2 = new ShowTime("Amstar Cinemas", "Star Wars", "Thursday @ 12:00AM", "Monday @ 4:00PM", "Sunday @ 3:45PM","R", 1, 2);
ShowTime cinemark3 = new ShowTime("Fayette Movies", "Pokemon", "Friday @ 3:30", "Saturday @ 7:00", "Sunday @ 6:00","R", 1, 2);
ShowTime cinemark4 = new ShowTime("Dollar Theatre", "Reincarnated", "Friday @ 3:30", "Saturday @ 7:00", "Sunday @ 6:00","R", 1, 2);
ShowTime cinemark5 = new ShowTime("Rad Chads Cinemas", "Lorde", "Friday @ 3:30", "Saturday @ 7:00", "Sunday @ 6:00","R", 1, 2);
movieTimes[0] = cinemark1;
movieTimes[1] = cinemark2;
movieTimes[2] = cinemark3;
movieTimes[3] = cinemark4;
movieTimes[4] = cinemark5;
for(int i = 1; i < 5; i ++){
System.out.println(movieTimes[i].compareTo(movieTimes[i-1]));
}
}
}
contd...
public class ShowTime implements Comparable<ShowTime>{
public String name, title, rating, showTime1, showTime2, showTime3;
public double ticket, adultTicket;
public String[] times = new String[3];
public ShowTime(String theatreName, String movieTitle, String showTime1, String showTime2, String showTime3 , String movieRating, double childTicket, double aTicket)
{
// TODO Auto-generated constructor stub
name = theatreName;
title = movieTitle;
times[0] = showTime1;
times[1] = showTime2;
times[2] = showTime3;
rating = movieRating;
ticket = childTicket;
adultTicket = aTicket;
}
public String toString(){
String out = "Theatre: ";
out += name+ " " + "Movie: " + title + " " + "Rating " + rating + " " + "ShowTimes " + times[0] + " " + times[1] + " " + times[2]
+ " " + "Adult Cost: " + adultTicket + " " + "Child Ticket: " +ticket;
return out;
}
public int compareTo(ShowTime other) {
// TODO Auto-generated method stub
//sorts the showtimes by theater(NAME) and movie(TITLE)
int result;
if(name.equals(((ShowTime)other).name)){
result = title.compareTo(((ShowTime)other).title);
}
else{
result = name.compareTo(((ShowTime)other).name);
}
return result;
}
}
NullPointerExceptionif you callArrays.sort(movieTimes);since you initialized only 5 elements but you've allocated 20.