数组列表,从文件和2个类中读入

时间:2016-06-01 06:50:37

标签: java object arraylist

我正在学习arraylists,我不确定如何从文件中读入并将其添加到列表中,因为我更习惯于数组,它们是否一样?

当我尝试实例化类对象'电影'时,我也遇到了很多错误,但从不介意它。

我如何才能加载我的文件方法?对我而言,我认为我只需要一个陌生人的pov。

尝试查找文件符号时也会出错。如果有任何特定的读数我应该为数组列表做,请你链接我或解释你可以。

我对编码和堆栈溢出都很陌生,所以如果你可以愚蠢的话,请耐心等待,如果我不明白,谢谢。

import java.util.*;
public class CinemaDriver {

   film[] Film;

   public static void main(String[] args) {
      Film = new film[100];
      ArrayList <Film> list = new ArrayList<Film> ();
   }

   public void readFromFile() {
      File f = new file("file.txt");
      Scanner infile = new Scanner(f);
      int x = infile.nextInt();
      for(int i = 0; i < x ; i++) {
         String title = infile.nextLine();
         String genre = infile.nextLine();
         int screenings = infile.nextInt();
         int attendance = infile.nextInt();
         file.nextLine();
         list.add(title,genre,screenings,name);
      }
      infile.close();
   }

   public void displayAll() {
      for (film f : list ){
         System.out.println(f +"/ \n");
      }
   }
}

1 个答案:

答案 0 :(得分:3)

您的ArrayList保持Film对象的定义如下:

ArrayList <Film> list = new ArrayList<Film> ();

但是你试图插入几个不同的对象或值(字符串,整数等...)而不是电影对象

list.add(title,genre,screenings,name);

你应该做的是这样的事情:

选项1:

list.add(new Film(title,genre,screenings,name));

选项2:

Film f = new Film();
f.setTitle(title);
f.setGenre(genre);
f.setScreenings(screenings);
f.setName(name);
list.add(f);