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