Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Objective: Write a program that manages a Movie database. Requirements: Each mov

ID: 3762296 • Letter: O

Question

Objective:

Write a program that manages a Movie database.

Requirements:

Each movie needs to have the follow attributes

Name

Year

Rating (1 to 5 stars)

Director

Box Office Gross

The Movie database must be able to:

Add a movie

Remove a movie by title

Sort movie by Title

Sort movie by Rating

Sort movie by Box Office Gross

Sort movies by a director (LastName)

Print to a database file (you may define your own protocol)

Read from a database file

Write a front end that will allow a user to use any of the features noted in the database description

So farr, I have been working on the Movie class and the MovieDadtabase class. The MovieDatabase class has errors and I cannot understand why. I am also having trouble starting the MovieDataBaseFrontEnd class. Fixing the Movie class and the MovieDatabase class along with a writing a program that it runs in (front end) would be awesome. Below I have pasted the code I have so far for the Movie class and MovieDatabase class. Thank you.

import java.io.*;

import java.util.Scanner;

public class movie

{

   private String movie_name;

   private String movie_year;

   private int movie_rating;

   private String movie_director;

   private float movie_boxofficegross;

   private String comment;

   private int rating;

   public movie(String moviename, String movieyear,int movierating,String moviedirector,double movieboxofficegross)

   {

       this.movie_name=moviename;

       this.movie_year=movieyear;

       this.movie_rating=movierating;

       this.movie_director = moviedirector;

       this.movie_boxofficegross = (float) movieboxofficegross;

       this.comment = "";

       this.rating = 5;

   }

   public String getMovie_name()

   {

       return movie_name;

   }

   public String getMovie_year()

   {

       return movie_year;

   }

   public int getMovie_rating()

   {

       return movie_rating;

   }

   public String getMovie_Director()

   {

       return movie_director;

   }

   public float getMovie_boxofficegross()

   {

       return movie_boxofficegross;

   }

}

--------

import java.io.*;

import java.util.*;

public class MovieDataBase

{

   public static void main(String[]args) throws Exception

   {

       ArrayList<movie> list=new ArrayList<movie>();

       list.add(new movie(“bahubali”,5);

       list.add(new movie (“dhoom”,4);

       list.add(new movie(“pyaar”,3);

       list.remove(“pyaar”,3);

       list.sort(“movie_name”,4);

       list.sort(“movie_boxofficegross”);

       File file = new File("C:\movie.txt");

       for (movie a: list){

           {

               System.out.println("Movie: " + getMovie_name());

               System.out.println("Movie: " + getMovie_year());

               System.out.println("Movie: " + getMovie_rating());

               System.out.println("Directed by: " + getMovie_director());

               System.out.println("Movie: " + getMovie_boxofficegross());

               System.out.println("Your Comments: ");

               java.util.scannner scn=new java.util.scanner(System.in);

               int rate=input.nextInt();

               out.read(“a.getMovie_name()” “a.getmovie_year” “a.getmovie_rating” ”a.getMovie_director()" “a.getmovie_boxofficegross”);

           }

       }

   }

}

Explanation / Answer

movie.java

import java.util.Comparator;

/**
*
* @author prmsh
*/

public class movie {

private String movie_name;
private String movie_year;
private int movie_rating;
private String movie_director;
private float movie_boxofficegross;
private String comment;
private int rating;

public movie(String moviename, String movieyear, int movierating, String moviedirector, float movieboxofficegross,String comm,int rat) {
this.movie_name = moviename;
this.movie_year = movieyear;
this.movie_rating = movierating;
this.movie_director = moviedirector;
this.movie_boxofficegross = (float) movieboxofficegross;
this.comment = comm;
this.rating = rat;
}
//getter methods
public String getMovie_name() {
return movie_name;
}

public String getMovie_year() {
return movie_year;
}

public int getMovie_rating() {
return movie_rating;
}

public String getMovie_director() {
return movie_director;
}

public float getMovie_boxofficegross() {
return movie_boxofficegross;
}

public String getComment() {
return comment;
}

public int getRating() {
return rating;
}

//toString method

@Override
public String toString() {
return "movie{" + "movie_name=" + movie_name + ", movie_year=" + movie_year + ", movie_rating=" + movie_rating + ", movie_director=" + movie_director + ", movie_boxofficegross=" + movie_boxofficegross + ", comment=" + comment + ", rating=" + rating + '}';
}
//title comparator
public static Comparator<movie> TitleComparator = new Comparator<movie>() {

   public int compare(movie s1, movie s2) {
   String title1 = s1.getMovie_name().toUpperCase();
   String title2 = s2.getMovie_name().toUpperCase();
   //ascending order
   return title1.compareTo(title2);
}};

//rating comparator
public static Comparator<movie> RatingComparator = new Comparator<movie>() {

   public int compare(movie s1, movie s2) {
   int rating1 = s1.getMovie_rating();
   int rating2 = s2.getMovie_rating();
   //ascending order
   return rating1-rating2;
}};

//gross comparator
public static Comparator<movie> GrossComparator = new Comparator<movie>() {

   public int compare(movie s1, movie s2) {
   int rating1 = (int) s1.getMovie_boxofficegross();
   int rating2 = (int) s2.getMovie_boxofficegross();
   //ascending order
   return rating1-rating2;
}};

//director comparator
public static Comparator<movie> DirectorComparator = new Comparator<movie>() {

   public int compare(movie s1, movie s2) {
   String title1 = s1.getMovie_director().toUpperCase();
   String title2 = s2.getMovie_director().toUpperCase();
   //ascending order
   return title1.compareTo(title2);
}};

  
}

------------------------------------------------------------------------------------------------------------------------

MovieDataBase.java

import java.util.*;
import java.util.Scanner;
public class MovieDataBase
{
public static void main(String[]args) throws Exception
{
//arraylist to store movies List declared
ArrayList<movie> moviesList = new ArrayList<movie>();
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("1. Add 2. Delete 3. Sort by title 4.sort by rating 5.sort by boxoffice gross 6.sort by dorector 7.exit");
int choice = sc.nextInt();
if(choice == 1){ //adding new movie
System.out.println("Enter movie name: ");
String movieName = sc.nextLine();
System.out.println("Enter movie year: ");
String movieYear = sc.nextLine();
System.out.println("Enter movie rating: ");
int rating = sc.nextInt();
System.out.println("Enter movie Director: ");
String director = sc.nextLine();
System.out.println("Enter movie box office gross: ");
float gross = sc.nextFloat();
System.out.println("Enter movie coments: ");
String comments = sc.nextLine();
System.out.println("Enter your ratings: ");
int yourRating = sc.nextInt();
movie obj = new movie(movieName,movieYear,rating,director,gross,comments,yourRating);
moviesList.add(obj);
}
//delete
else if(choice == 2){
System.out.println("Enter title name to delete: ");
String delete = sc.nextLine();
for(int i=0;i<moviesList.size();i++){
if(moviesList.get(i).getMovie_name().equals(delete)){
moviesList.remove(i);
break;
}
}
}
else if(choice == 3){ //sorting by title
Collections.sort(moviesList, movie.TitleComparator);
for(int i=0;i<moviesList.size();i++){
System.out.println(moviesList.get(i));
}
}
else if(choice == 4){ //sorting by rating
Collections.sort(moviesList, movie.RatingComparator);
for(int i=0;i<moviesList.size();i++){
System.out.println(moviesList.get(i));
}
}
else if(choice == 5){ //sorting by gross
Collections.sort(moviesList, movie.GrossComparator);
for(int i=0;i<moviesList.size();i++){
System.out.println(moviesList.get(i));
}
}
else if(choice == 6){ //sorting by director
Collections.sort(moviesList, movie.DirectorComparator);
for(int i=0;i<moviesList.size();i++){
System.out.println(moviesList.get(i));
}
}
else{
System.out.println("Bye");
break;
}
}
}
}