我正在尝试从文本文件输出有关电视节目的信息,如下所示:
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。我的老师就是这么想的。
任何帮助都会很棒!提前致谢。 :)
答案 0 :(得分:2)
我认为show
是某种Collection
类型。
我最好的猜测是,在您调用此函数之前,show
实际上还没有任何内容(即show.size()
为0)。
由于x
是节目的数量,您应该像for (int i = 0; i < x; i++)
一样循环,并使用您的数据创建showInfo
的新实例,并将其插入show
在你的循环中。