All pastes #960966 Raw Edit

Mine

public text v1 · immutable
#960966 ·published 2008-03-28 16:11 UTC
rendered paste body
import chn.util.*;
import apcslib.*;

public class Collection 
{
  private Movie[] movieList;
  private double ratingTotal = 0;
  private int minutes = 0;

  
  public Collection(String fileName)
  {
    loadData(fileName);
  }
  
  private void loadData(String fileName)
  {
    String movieTitle;
    String bondName;
    int yearReleased;
    double movieRating;
    int lengthHours;
    int lengthMinutes;
    
    FileInput inFile = new FileInput(fileName);
    
    int numReleases = inFile.readInt();
    movieList = new Movie[numReleases];
    
    for (int i = 0; i < numReleases; i++)
    {
      movieTitle = inFile.readLine();
      bondName = inFile.readLine();
      yearReleased = inFile.readInt();
      movieRating = inFile.readDouble();
      lengthHours = inFile.readInt();
      lengthMinutes = inFile.readInt();
      
      ratingTotal += movieRating;
      minutes += lengthHours * 60 + lengthMinutes;

      
      movieList[i] = new Movie(movieTitle, bondName, yearReleased, 
            movieRating, lengthHours, lengthMinutes);
    }
  }
  









  public void displayInfo()
  {
    System.out.print(Format.center("Film Title",34));
    System.out.print(Format.center("Bond Actor",16));
    System.out.print(Format.center("Year",6));
    System.out.print(Format.center("Rating",7));
    System.out.print(Format.right("Film Length",16));
    System.out.println();
    System.out.println();
    for (int i = movieList.length - 1; i >= 0 ; i--)
    {
      String output = movieList[i].toString();
      System.out.println(output);
    }
  }
  
  public void Sort()
  {
    quickSort(movieList,0,movieList.length - 1);
  }
  
  private void quickSort(Movie[] list, int first, int last)
  {
    int g = first;
    int h = last;
    int midIndex;
    Movie dividingValue;

    midIndex = (first + last) / 2;
    dividingValue = list[midIndex];
    do
    {
      while (list[g].compareTo(dividingValue) < 0)
      {
        g++;
      }
      while (list[h].compareTo(dividingValue) > 0)
      {
        h--;
      }
      if (g <= h)
      {
        // swap g and h
        Movie temp = list[g];
        list[g] = list[h];
        list[h] = temp;
        g++;
        h--;
      }
    } while (g < h);
    if (h > first)
    {
      quickSort(list, first, h);
    }
    if (g < last)
    {
      quickSort(list, g, last);
    }
  }
  
    public void displayAveRating()
  {
    double rating = ratingTotal / movieList.length;
    System.out.print("The average rating for a James Bond Movie is ");
    System.out.print(rating);
    System.out.println(" out of a possible 4.0");
  }
  
  public void displayAveMinutes()
  {
    int hrs = (int)(minutes / 60.0) / movieList.length;
    double min = ((double)minutes / movieList.length) % 60.0;
    System.out.print("The average length for a James Bond Movie is ");
    System.out.println(hrs + " hrs and " + min + " minutes");
  }

  
  public static void main(String[] args)
  {
    Collection seriesData = new Collection("bond.txt");
    seriesData.Sort();
    seriesData.displayInfo();
    seriesData.displayAveRating();
    seriesData.displayAveMinutes();
  }
    
}