使用setter将值分配给另一个对象中的数组

时间:2017-06-14 22:31:57

标签: java arrays oop

protected void Method() {
    ...
    while (st.hasMoreTokens()) {
         int data = Integer.parseInt(st.nextToken());   
         person[a] = new Person();
         person[a].setID(data);
         person[a].setResults(data);
         a++;
    }

}

在另一个类文件中

protected void Person() {
    int results[] = new int[5];
     ...
    //getters&setters
    public void setResults(int[] results) {
        this.results = results;
    }
}

setResults一次传入一个值,但是setter期望一个数组,使用只能一次获取一个值的setter在学生中填充数组的更好方法是什么?

1 个答案:

答案 0 :(得分:0)

我建议为此目的使用列表。但是现在,你可以使用一个变量来保存在结果数组中插入值的索引,并在每次插入后递增它。

protected void Person() {
    int results[] = new int[5];
    int index = 0; // index to insert at
     ...
    //getters&setters
    public void setResults(int result) {
        if(index < 5) {
            this.results[index] = result;
            index++;
        }
    }
}

然后你可以像setResults一样打电话给

int data = Integer.parseInt(st.nextToken());
person[a].setResults(data);