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;
}
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.