1

我正在尝试从如下所示的文本文件中输出有关电视节目的信息:

2
PPL
Tuesday
1900
BBT
Thursday
2100

我读取和输出文件的方法如下所示:

//method to read shows from file
public static void loadFile() throws FileNotFoundException, IOException{
    int i;
    int x = 0;
    BufferedReader input = new BufferedReader(new FileReader("TV.txt"));
    x = Integer.valueOf(input.readLine()).intValue();
    System.out.println(x + " shows!");

    for(i = 0; i < show.size(); i++){
        ((showInfo)show.get(i)).name = input.readLine();
        ((showInfo)show.get(i)).day = input.readLine();
        ((showInfo)show.get(i)).time = Integer.valueOf(input.readLine()).intValue();
    }

    System.out.println("Show Information");
    for(i = 0; i < show.size(); i++){
        System.out.println("Name: " + ((showInfo)show.get(i)).name);
        System.out.println("Day: " + ((showInfo)show.get(i)).day);
        System.out.println("Time: " + ((showInfo)show.get(i)).time);
    }    
}  

它向我显示了节目的数量和“显示信息”,但随后它是空白的并返回到主菜单。为什么要这样做?哦,请不要问我为什么使用强制转换而不是泛型。我不能,因为我必须使用 1.4。我的老师想要这样。

任何帮助都会很棒!提前致谢。:)

4

1 回答 1

2

我认为这show是某种Collection类型。

我最好的猜测是,在你调用这个函数之前,show实际上还没有任何东西(即为show.size()0)。

由于x是节目的数量,您可能应该像 一样循环for (int i = 0; i < x; i++),并创建showInfo使用数据的新实例,并将这些实例插入到show您的循环中。

于 2013-09-19T22:31:40.187 回答