簡體   English   中英

使用setter將值分配給另一個對象中的數組

[英]Assign values to array in another object using setter

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來在學生中填充數組?

我建議為此使用列表。 但是現在,您可以使用變量來保存將值插入到結果數組中的索引,並在每次插入后將其遞增。

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM