Also muss ich eine Filmdatenbank mit Java erstellen, die die Attribute name, rating, director, year und group hat. Das Programm muss auch Einen Film hinzufügen, Einen Film nach Titel entfernen, Film nach Titel sortieren, Sortiere Film nach Bewertung, Sortiere Film nach Box Office Gross, Zeige Filme von einem Regisseur, Drucke in eine Datenbankdatei (du kannst dein eigenes Protokoll definieren) und Lese aus einer Datenbankdatei. Ich stoße in einen Fehler mit ArrayList <Movie>
es sagt, dass es nicht zu einem Typ aufgelöst werden kann und so mir Fehler gibt, wenn Film angerufen wird. HierMovie Database java error
ist der Brocken, der den Fehler geben hier
ArrayList<Movie> movieDB = new ArrayList<Movie>();
int choice;
Scanner input = new Scanner(System.in);
String mvname, director, fileName;
int year;
double rating, gross;
ist der Code, ich habe bisher
import java.awt.List;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class MovieDatabase
{
public static void main(String[]args) throws Exception
{
ArrayList<Movie> movieDB = new ArrayList<Movie>();
int choice;
Scanner input=new Scanner(System.in);
String mvname,director,fileName;
int year;
double rating,gross;
while(true)
{
//menu
System.out.println("1.Add a movie\n2.Remove a moive\n3.Sort movie by Title\n4.Sort movie by Rating");
System.out.println("5.Sort movie by Box office Gross\n6.Show movies by a director");
System.out.print("7.Print to a database file\n8.Read from a database file\n9.exit: ");
choice=input.nextInt();
switch(choice)
{
case 1: System.out.println("Enter movie name: ");
mvname=input.next();
System.out.println("Enter year: ");
year=input.nextInt();
System.out.println("Enter Director name: ");
director=input.next();
System.out.println("Enter movie rating: ");
rating=input.nextDouble();
System.out.println("Enter Box Office Gross: ");
gross=input.nextDouble();
//add new moive object ot movie data base
movieDB.add(new Movie(mvname,year,rating,director,gross));
break;
case 2: System.out.println("Enter movie title: ");
mvname=input.next();
//remove specified movie object by title
for(Movie m:movieDB)
{
if(mvname.equals(m.getMovie_name()))
{
movieDB.remove(m);
}
}
break;
case 3: //Sort the movie data records by movie title
Collections.sort(movieDB,Movie.titleComparator);
System.out.println("After sorting by title");
for(Movie m:movieDB)
{
System.out.println(m.toString());
}
break;
case 4: //Sort the movie data records by movie rating
Collections.sort(movieDB,Movie.rateComparator);
System.out.println("After sorting by rating");
for(Movie m:movieDB)
{
System.out.println(m.toString());
}
break;
case 5: //Sort the movie data records by movie gross
Collections.sort(movieDB,Movie.grossComparator);
System.out.println("After sorting by gross");
for(Movie m:movieDB)
{
System.out.println(m.toString());
}
break;
case 6: //display movies by director name
System.out.println("Enter Director name: ");
director=input.next();
for(Movie m:movieDB)
{
if(director.equals(m.getMovie_Director()))
{
System.out.println(m.toString());
}
}
break;
case 7: //print movie data records to a text file
System.out.println("Enter File name: ");
fileName=input.next();
FileWriter fWriter = null;
BufferedWriter writer = null;
fWriter = new FileWriter(fileName+".txt",true);
writer = new BufferedWriter(fWriter);
for(Movie m:movieDB)
{
writer.write(m.toString());
System.out.println(m.toString());
}
break;
case 8:
//read movie data records from a text file
System.out.println("Enter File name: ");
fileName=input.next();
BufferedReader br = new BufferedReader(new FileReader(fileName+".txt"));
String line;
while((line = br.readLine()) != null)
{
System.out.println(line);
String lines[]=line.split(" ");
mvname=lines[0];
year=Integer.parseInt(lines[1]);
rating=Double.parseDouble(lines[2]);
director=lines[3];
gross=Double.parseDouble(lines[4]);
movieDB.add(new Movie(mvname,year,rating,director,gross));
}
br.close();
break;
case 9:System.exit(1);
default: System.out.println("Wrong Choice!");
}
}
}
}
formatieren Sie bitte Ihren Code, das ist schrecklich zu lesen. Warum haben Sie auch ein JavaScript-Tag hinzugefügt? – UnholySheep
Könnte es sein, dass Sie keine Movie-Klasse haben oder dass die Movie-Klasse nicht importiert wurde? –
Warum importieren Sie 'java.awt.List', aber nicht' java.util.ArrayList'? –