Я не уверен ... может быть, вы хотите получить такой результат:
ИГРОВОЙ КЛАСС
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Game {
private File file = null;
//private int noOfMovies = 0;
private List<String> movies= null;
FileInputStream read = null;
public Game(char genre) {
movies = getMovieList();
System.out.println(movies);
}
public void setMovieList(char genre) {
if (genre == 'h') {
this.file = new File("C:\\Users\\Rashim\\Desktop\\java\\GuessTheMovie\\src\\hollywoodMovies.txt");
// this.noOfMovies = 30;
} else if (genre == 'b') {
this.file = new File("C:\\Users\\Rashim\\Desktop\\java\\GuessTheMovie\\src\\bollywoodMovies.txt");
// this.noOfMovies = 20;
}
}
public List<String> getList() {
List<String> movieList = new ArrayList<>();
String[] values = null;
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
values = line.split(";");
movieList.add(values[0]);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return movieList;
}
public String getMovie(){
System.out.println(movies.size());
int min = 1;
int max = movies.size();
int random = min + (int) (Math.random() * (max - min));
System.out.println(random);
String title = movies.get(random);
return title;
}
}
ГЛАВНЫЙ КЛАСС
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Enter 'h' for hollywood and 'b' for bollywood ");
Scanner input = new Scanner(System.in);
char genre = input.next().charAt(0);
Game newGame = new Game(genre);
String randomMovie = newGame.getMovie();
System.out.println(randomMovie);
}
}
Обратите внимание, что я использовал структуру данных List вместо массива, но это, очевидно, зависит от вас ... дайте мне знать, если это может выглядеть так, как вы пытаетесь сделать ... некоторые другие улучшения, безусловно, могут быть сделаны, но должно работать.
Также предполагается, что у вас есть текстовый файл с заголовками фильмов, разделенными точкой с запятой ... в противном случае вам нужно настроить метод split в getList.
Более того, таким образом вам больше не нужно поле noOfMovies, потому что оно автоматически принимает размер списка.
Надеюсь, это поможет ...