Question
Change these files so that it keeps the DVDs sorted by title. Use the attached Sorting class to help you out. Make sure you include
Change these files so that it keeps the DVDs sorted by title. Use the attached Sorting class to help you out. Make sure you include a driver to test it out. THANK YOU!
SORTING:
//******************************************************************** // Sorting.java Author: Lewis/Loftus // // Demonstrates the selection sort and insertion sort algorithms. //********************************************************************
public class Sorting { //----------------------------------------------------------------- // Sorts the specified array of objects using the selection // sort algorithm. //----------------------------------------------------------------- public static void selectionSort (Comparable[] list) { int min; Comparable temp;
for (int index = 0; index < list.length-1; index++) { min = index; for (int scan = index+1; scan < list.length; scan++) if (list[scan].compareTo(list[min]) < 0) min = scan;
// Swap the values temp = list[min]; list[min] = list[index]; list[index] = temp; } }
MOVIES:
//******************************************************************** // Movies.java Author: Lewis/Loftus // // Demonstrates the use of an array of objects. //********************************************************************
public class Movies { //----------------------------------------------------------------- // Creates a DVDCollection object and adds some DVDs to it. Prints // reports on the status of the collection. //----------------------------------------------------------------- public static void main (String[] args) { DVDCollection movies = new DVDCollection();
movies.addDVD ("The Godfather", "Francis Ford Coppala", 1972, 24.95, true); movies.addDVD ("District 9", "Neill Blomkamp", 2009, 19.95, false); movies.addDVD ("Iron Man", "Jon Favreau", 2008, 15.95, false); movies.addDVD ("All About Eve", "Joseph Mankiewicz", 1950, 17.50, false); movies.addDVD ("The Matrix", "Andy & Lana Wachowski", 1999, 19.95, true);
System.out.println (movies);
movies.addDVD ("Iron Man 2", "Jon Favreau", 2010, 22.99, false); movies.addDVD ("Casablanca", "Michael Curtiz", 1942, 19.95, false);
System.out.println (movies); } }
DVD COLLECTION:
//******************************************************************** // DVDCollection.java Author: Lewis/Loftus // // Represents a collection of DVD movies. //********************************************************************
import java.text.NumberFormat;
public class DVDCollection { private DVD[] collection; private int count; private double totalCost;
//----------------------------------------------------------------- // Constructor: Creates an initially empty collection. //----------------------------------------------------------------- public DVDCollection () { collection = new DVD[100]; count = 0; totalCost = 0.0; }
//----------------------------------------------------------------- // Adds a DVD to the collection, increasing the size of the // collection array if necessary. //----------------------------------------------------------------- public void addDVD (String title, String director, int year, double cost, boolean bluRay) { if (count == collection.length) increaseSize();
collection[count] = new DVD (title, director, year, cost, bluRay); totalCost += cost; count++; }
//----------------------------------------------------------------- // Returns a report describing the DVD collection. //----------------------------------------------------------------- public String toString() { NumberFormat fmt = NumberFormat.getCurrencyInstance();
String report = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "; report += "My DVD Collection ";
report += "Number of DVDs: " + count + " "; report += "Total cost: " + fmt.format(totalCost) + " "; report += "Average cost: " + fmt.format(totalCost/count);
report += " DVD List: ";
for (int dvd = 0; dvd < count; dvd++) report += collection[dvd].toString() + " ";
return report; }
//----------------------------------------------------------------- // Increases the capacity of the collection by creating a // larger array and copying the existing collection into it. //----------------------------------------------------------------- private void increaseSize () { DVD[] temp = new DVD[collection.length * 2];
for (int dvd = 0; dvd < collection.length; dvd++) temp[dvd] = collection[dvd];
collection = temp; } }
DVD:
//******************************************************************** // DVD.java Author: Lewis/Loftus // // Represents a DVD video disc. //********************************************************************
import java.text.NumberFormat;
public class DVD { private String title, director; private int year; private double cost; private boolean bluRay;
//----------------------------------------------------------------- // Creates a new DVD with the specified information. //----------------------------------------------------------------- public DVD (String title, String director, int year, double cost, boolean bluRay) { this.title = title; this.director = director; this.year = year; this.cost = cost; this.bluRay = bluRay; }
//----------------------------------------------------------------- // Returns a string description of this DVD. //----------------------------------------------------------------- public String toString() { NumberFormat fmt = NumberFormat.getCurrencyInstance();
String description;
description = fmt.format(cost) + "\t" + year + "\t"; description += title + "\t" + director;
if (bluRay) description += "\t" + "Blu-Ray";
return description; } }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started