如何编写数组的get和set方法

时间:2012-03-06 13:57:32

标签: java arrays

我有点混淆了。到目前为止,这是我的工作。

public class CourseYear
{
    private String courseName;
    private int year;
    private String tutorName;
    private String [] moduleList;

moduleList将容纳6个模块

public CourseYear()
{
    courseName = "Default";
    year = 0;
    tutorName = "Joe Bloggs";
    moduleList = new String [5];
}

这就是我的问题所在,我不知道如何做数组部分:

public void addModule(Module newModule, int index)
{
    Module = newModule[0];
    Module = newModule[1];
    Module = newModule[2];
    Module = newModule[3];
    Module = newModule[4];
    Module = newModule[5];
}

我不知道怎么做get方法

public Module getModule(int index)
{
    return Module[index];
}

4 个答案:

答案 0 :(得分:2)

您需要使用索引引用您的数组。在您的班级定义中,您需要

private Module[] modules = new Module[6]; // initialize

如果希望Array包含Module个实例,则该数组必须是一个模块数组。现在你的班级有一个String数组。

然后你的add方法变为

public void addModule(Module newModule, int index){
    this.modules[index] = newModule; // put the instance in the correct bucket
}

请注意以下几点:

1)。您的阵列有6个桶,因此允许的索引是0-5。如果addModule方法中的索引超出范围,您将获得异常。

2)。 addModule期望newModule成为模块实例。所以你使用像

这样的addModule
CourseYear courseYear = new CourseYear(); // create a courseyear
courseYear.addModule(new Module(), 0); // create a module and add it at index 0
courseYear.addModule(new Module(), 1); // create a module and add it at index 1
...

您还可以在addModule课程中使用CourseYear。假设您要在构造函数中初始化

public CourseYear(){
    this.addModule(new Module(), 0); // create a module and add it at index 0
    this.addModule(new Module(), 1); // create a module and add it at index 1
    ...
}

你应该能够找出getModule

答案 1 :(得分:2)

    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 addModule(Module newModule, int index)
    {
        moduleList[index] = newModule;
    }


    public Module getModule(int index)
    {
        return moduleList[index];
    }

答案 2 :(得分:1)

两件事。

1.如果要在moduleList中保存6个值,则应使用new String[6]进行实例化。

2.您将使用List<String>类型的对象简化您的生活,而不必维护索引等等:

 List<String> moduleList = new ArrayList<String>();

它动态且易于使用。

答案 3 :(得分:0)

我假设你想为moduleList编写get和set方法。签名将是

public void setModuleList(String[] module);

public String[] getModuleList();

获得列表后,您可以检索列表中的项目。