【发布时间】:2014-10-30 21:32:31
【问题描述】:
我正在做一个项目(昨天我遇到了一个问题,很多人帮助了我!)所以我决定再次寻求帮助。
我的代码有 3 个类。项目主、学生、教室。我创建了一组 Classroom 对象。现在我有 3 个教室对象。但我必须将学生对象分配给这些教室对象。例如: classarray[0] 是 Classroom 类的对象, studentobject.get(0) 、 studentobject.get(1) ... 将是 classarray[0] 对象中的学生对象。但是我在编码时失败了。这是我的课程:
public class Classroom
{
private String classname;
private String word[] = null;
protected ArrayList<Students> studentobject = new ArrayList<Students>(10);
public String[] getWord()
{
return word;
}
public void setWord(String[] word)
{
this.word = word;
}
public ArrayList<Students> getStudentobject()
{
return studentobject;
}
public void setStudentobject(ArrayList<Students> studentobject)
{
this.studentobject = studentobject;
}
public String getClassname()
{
return classname;
}
public void setClassname(String classname)
{
this.classname = classname;
}
public void classroomreader(String filename)
{
// This method gets the name of Classroom
File text = new File("C:/Users/Lab/Desktop/classlists/" + filename
+ ".txt");
Scanner scan;
try
{
scan = new Scanner(text);
String line = scan.nextLine();
word = line.split("\t");
line = scan.nextLine();
word = line.split("\t");
} catch (FileNotFoundException e1)
{
e1.printStackTrace();
}
}
}
这是我的学生班:
public class Students extends Classroom
{
private String name,id;
private int age;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
还有我的主要课程:
public class ProjectMain
{
public static void main(String[] args)
{
Classroom[] classarray = new Classroom[3];
//I got 3 Classroom objects here
classarray[0]=new Classroom();
classarray[1]=new Classroom();
classarray[2]=new Classroom();
classarray[0].classroomreader("class1");
classarray[0].studentobject.get(0).setName(classarray[0].getWord()[1]);
//The problem is in here. When my code comes to the line above,
// at java.util.ArrayList.rangeCheck(Unknown Source) error comes out.
// I tried to get first object in studentobject Arraylist, and tried to set it's name
// to the variable which my text reader reads.
我怎样才能写下我的想法?
【问题讨论】:
-
studentobject.get() 没有引用任何内容。你有一个方法叫做getstudentobject()
-
你有
Students extends Classroom- 我不认为“学生”是一种“教室”。 -
我会阅读
Is-a(扩展)Has-a(参考)关系和继承。大声说出来会很有帮助。 “学生是教室”有意义吗?不应该是“教室有学生”吗? -
你永远不会创建任何学生实例...因为 classarray[0].studentobject 是空的,试图获取它的第一个实例失败...
标签: java arrays object arraylist