ArrayList 仅在文本文件中添加列表中的第一项

问题描述 投票:0回答:0

我有一个包含电影列表的文本文件。

电影a

电影b

电影c

下面的代码块只是将电影 a 添加到 ArrayList。

我从这个开始

import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.File;
public class GuessTheMovie {

    public static void main(String[] args) throws FileNotFoundException {
        File file = new File("movies.txt");
        Scanner scanner = new Scanner(file);
        int numberOfMovies = 1;
        int movies = 0;

        while (scanner.hasNextLine()) {

            String line = scanner.nextLine();

            movies = numberOfMovies++;}}

        int randomMovie = (int) (Math.random() * movies)+1;

        System.out.println(randomMovie);

这让我可以创建一个随机数,我想用它从列表中随机挑选一部电影。花了一段时间,但我能够让它工作。然后我意识到我的文本文件列表不是数组。因此,下一步是尝试弄清楚如何将文本文件列表转换为数组。经过大量的反复试验和搜索,我找到了下一个代码块。我能够让它工作所以我想但只能通过注释掉我的第一个代码块或将新的 while 循环移到第一个上面。它有效,但只有索引为 0 时,其他任何东西都给了我一个“越界异常”。所以我尝试打印列表,发现列表中只有一项。我花了几个小时在上面工作,但卡住了。

import java.util.ArrayList;


         ArrayList<String> list = new ArrayList<String>();
        while (scanner.hasNextLine()) {
            list.add(scanner.nextLine());
            
         System.out.println(list); } }

我是 Java 的新手,搜索并尝试了我找到的所有内容,但没有运气。我要么得到错误,要么得到相同的结果。

java arraylist text-files
© www.soinside.com 2019 - 2024. All rights reserved.