我想反击文件的行,在第二遍我想采取每一行并操纵它.它没有编译错误,但它不能进入第二个while ((line = br.readLine()) != null).是否有不同的方法来获取文件的行(电影)并存储在数组中?
BufferedReader br = null;
try { // try to read the file
br = new BufferedReader(new FileReader("movies.txt"));
String line;
int numberOfMovies = 0;
while ((line = br.readLine()) != null) {
numberOfMovies++;
}
Movie[] movies = new Movie[numberOfMovies]; // store in a Movie
// array every movie of
// the file
String title = "";
int id = 0;
int likes = 0;
int icounter = 0; // count to create new movie …Run Code Online (Sandbox Code Playgroud) 我有一个带有静态数组Movie []电影的类电影.我实现了Comparable,我重载了方法compareTo.如果电影的喜欢与另一部电影的喜欢相同,那么我将它们与字母顺序进行比较.我必须创建一个快速排序实现来排序电影数组.但在排队中return this.compareTo(m);我得到了堆栈溢出错误.我应该如何解决这个问题?
public int compareTo(Movie m) {
if (this.likes == m.likes) {
//DefaultComparator cmp = new DefaultComparator();
return this.compareTo(m);
} else if (this.likes > m.likes) {
return 1;
} else {
return -1;
}
}
public static Movie[] sort(Movie[] m) {
if (m == null || m.length == 0) {
return null;
} else {
movies = m;
quicksort(0, movies.length - 1); // sort the entire array
return movies;
}
}
public static void quicksort(int left, int …Run Code Online (Sandbox Code Playgroud)