我有一个数组(moduleList)作为我的类 CourseYear 中的四个私有实例变量之一。我希望能够在不同的类 CourseYearTestApplication 中添加数组对象的名称。到目前为止,我有 CourseYear 课程:
public class CourseYear
{
private String courseName;
private int year;
private String tutorName;
private Module [] moduleList;
public CourseYear()
{
courseName = "Default";
year = 0;
tutorName = "Joe Bloggs";
moduleList = new Module[6];
}
public void setCourseName(String newCourseName)
{
courseName = newCourseName;
}
public void setYear(int newYear)
{
year = newYear;
}
public void setTutorName(String newTutorName)
{
tutorName = newTutorName;
}
public String getCourseName()
{
return courseName;
}
public int getYear()
{
return year;
}
public String getTutorName()
{
return tutorName;
}
}
我知道这是我的添加方法,但我不确定如何在测试中输入我的数组值(字符串)
public void addModule(Module module1, int index)
{
moduleList[index] = module1;
}
public Module getModule(int index)
{
return moduleList[index];
}
到目前为止,这是 CourseYearTestApplication
public class CourseYearTestApplication
{
public static void main (String [] args)
{
CourseYear courseYear1 = new CourseYear();
courseYear1.addModule(new Module(), 0);
courseYear1.addModule(new Module(), 1);
courseYear1.addModule(new Module(), 2);
courseYear1.addModule(new Module(), 3);
courseYear1.addModule(new Module(), 4);
courseYear1.addModule(new Module(), 5);
}
}
答案 0 :(得分:2)
为什么不使用ArrayList?这将允许您根据需要增大/缩小数组,并将很好地遵循您的API要求:
public class CourseYear {
private String courseName;
private int year;
private String tutorName;
private List<Module> moduleList = new ArrayList<Module>;
....
public void addModule(Module module1, int index) {
moduleList.add(module1);
}
public Module getModule(int index) {
return moduleList.at(index);
}
}
答案 1 :(得分:0)
您想要设置哪些字符串?如果它是课程年度等,那么courseYear1.setTutor("John");
就可以了。但是,如果您的意思是在数组中设置内容,则应使用访问方法,因此courseYear1.getModule(1).setSomething("this String");
如果它是别的东西你可能需要更清楚一点。
编辑:从您的评论中听起来像是在寻找类似的内容: courseYear1.getModule(1).setModuleName("Maths");
答案 2 :(得分:0)
传入new Module()
只是一个模块,而不是模块数组。我建议在方法调用之外实例化Module[length]
,然后传入Module
的数组。