Я работаю над проектом, который создает виртуальную базу данных для фильмов.У меня есть два класса: MovieEntry (для отдельной записи фильма) и MovieDatabase (больший класс, который содержит базу данных и допускает добавления, и т. Д.) Я получаю ошибку «Не могу найти символ - добавление метода», но яArrayList объявлен в верхней части.Это весь мой код, и я знаю, что есть и другие ошибки.
**public class MovieDatabase
{
public ArrayList<String> Database = new ArrayList<String>();
public MovieDatabase(){
ArrayList<String> Database = new ArrayList<String>(0);
}
public int countTitles() throws IOException{
Scanner fileScan;
fileScan = new Scanner (new File("movies.txt"));
int count = 0;
String movieCount;
while(fileScan.hasNext()){
movieCount = fileScan.nextLine();
count++;
}
return count;
}
public void addMovie(MovieEntry m){
Database.add(m);
}
public ArrayList<MovieEntry> searchTitle(String substring){
for (String title : Database)
System.out.println(title);
}
public ArrayList<MovieEntry> searchGenre(String substring){
for (String genre : Database)
System.out.println(genre);
}
public ArrayList<MovieEntry> searchDirector (String str){
for (String director : Database)
System.out.println(director);
}
public ArrayList<MovieEntry> searchYear (int yr){
ArrayList <String> yearMatches = new ArrayList<String>();
for (String s : Database)
s.getYear();
if(yearMatches.contains(y) == false){
yearMatches.add(y);
}
return yearMatches;
}
public ArrayList<MovieEntry> searchYear(int from, int to){
ArrayList <String> Matches = new ArrayList<String>();
for(Student s : movies);
Matches.add();
return Matches;
}
public void readMovieData(String movies){
String info;
try{
Scanner fileReader = new Scanner(new File(movies));
Scanner lineReader;
while(fileReader.hasNext()){
info = fileReader.nextLine();
lineReader = new Scanner(info);
lineReader.useDelimiter(":");
String title = lineReader.next();
String director = lineReader.next();
String genre = lineReader.next();
int year = lineReader.nextInt();
}
}catch(FileNotFoundException error){
System.out.println("File not found.");
}catch(IOException error){
System.out.println("Oops! Something went wrong.");
}
}
public int countGenres(){
String g;
ArrayList <String> gList = new ArrayList<String>();
for(Student s : movies){
String g = s.getGenre();
if(gList.contains(g) == false){
gList.add(g);
}
return gList.size();
}
}
public int countDirectors(){
ArrayList <String> dList = new ArrayList<String>();
for(Student s : movies){
String d = s.getDirector();
if(dList.contains(d) == false){
dList.add(d);
}
return dList.size();
}
}
public String listGenres(){
ArrayList <String> genreList = new ArrayList<String>();
}
}**
У меня также есть ошибка, что метод getYear () не может быть найден, даже если он находится в другом классе, он не статичен, иЯ создаю объект (MovieEntry m), который вызывает другой класс.
РЕДАКТИРОВАТЬ: Я все еще получаю ошибку в моем методе searchTitle, который говорит, что база данных имеет несовместимый тип.Может кто-нибудь объяснить проблему с моим циклом for-each?Я следовал за книгой как мог.Пока спасибо за вашу помощь!