此项目的目标是读取电影数据库txt文件,其中文件中的每一行包含一个电影的名称,发布年份和关联的演员。每条信息由'/'字符分隔。年份在电影名称末尾的括号内指定。我已经创建了一个actor类,它存储了一个String firstname和一个String lastname,还有一个movie类,它包含了有关该电影的所有上述信息。在movieDataBase类中,我需要加载.txt文件,并将其拆分为不同的组件。我理解如何将文件拆分为不同的元素,我只是不知道如何将关联的actor的字符串转换为Actor对象的arrayList。对不起新手问题。我的java书根本没有谈论它,我一直在互联网上寻找过去3个小时!这是我的代码:
public class Actor {
private String firstName;
private String lastName;
public Actor(){
firstName = "";
lastName = "";
}
public Actor( String first){
this (first, "");
}
public Actor( String first, String last){
firstName = first;
lastName = last;
}
public String getFirstName(){
return firstName;
}
public void setFirstName( String first){
firstName = first;
}
public String getLastName(){
return lastName;
}
public void setLastName( String last){
lastName = last;
}
public String toString(){
return firstName + " " + lastName;
}
}
//new class
public class MovieDatabase
public void loadDataFromFile( String aFileName) throws FileNotFoundException{
//creating a scanner to read the file
Scanner theScanner = new Scanner(aFileName);
theScanner = new Scanner(new FileInputStream("cast-mpaa.txt"));
while(theScanner.hasNextLine()){
String line = theScanner.nextLine();
String[] splitting = line.split("/");
String movieTitle = splitting[0];
filmActors.add(splitting[2]);
//this is where I have issues
ArrayList<Actor> associatedActors = new ArrayList<Actor>();
for( String newActors : filmActors){
}
}
}
}
答案 0 :(得分:0)
您可以执行以下操作:
for( String newActor : filmActors){
associatedActors.add(new Actor(newActor));
}
这意味着使用new Actor
创建一个Actor的新对象实例并将其添加到您创建的数组列表中。
对于Actor类,您在构造函数中传递actor名称,这就是您构建我假设的Actor对象的方式。