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

Write code in Java Objective: Write a program that manages a Movie database. Req

ID: 3718112 • Letter: W

Question

Write code in Java

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

Show movies by a director

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

Explanation / Answer

CODE

movie.java

import java.util.Comparator;

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

@Overridepublic 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 TitleComparator = new Comparator() {

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 RatingComparator = new Comparator() {

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 GrossComparator = new Comparator() {

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 DirectorComparator = new Comparator() {

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 moviesList = new ArrayList();

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;

}

}

}

elseif(choice==3){

//sorting by title

Collections.sort(moviesList,movie.TitleComparator);

for(int i=0;i<moviesList.size();i++){

Sytem.out.println(moviesList.get(i));

}

}

elseif(choice==4){

//sorting by rating

Collections.sort(moviesList,movie.RatingComparator);

for(int i=0;i<moviesList.size();i++){

Sytem.out.println(moviesList.get(i));

}

}

elseif(choice==5){

//sorting by gross

Collections.sort(moviesList,movie.GrossComparator);

for(int i=0;i<moviesList.size();i++){

Sytem.out.println(moviesList.get(i));

}

}

elseif(choice==6){

//sorting by director

Collections.sort(moviesList,movie.DirectorComparator);

for(int i=0;i<moviesList.size();i++){

Sytem.out.println(moviesList.get(i));

}

}

else{

System.out.println("Bye");

break;

}

}

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote