小编Dam*_*tis的帖子

如何在Java中读取相同的文件两次?

我想反击文件的行,在第二遍我想采取每一行并操纵它.它没有编译错误,但它不能进入​​第二个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)

java file bufferedreader java-io

5
推荐指数
2
解决办法
1万
查看次数

如何修复java中的堆栈溢出错误?

我有一个带有静态数组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)

java stack-overflow comparable comparator

4
推荐指数
1
解决办法
614
查看次数