第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么一個類中只有一個數(shù)組列表保存所有對象的變量?

為什么一個類中只有一個數(shù)組列表保存所有對象的變量?

幕布斯7119047 2022-12-15 11:02:02
我有標題中提到的問題。我會預先介紹每一步,讓您了解我正在嘗試做的事情。首先,為了總結我的課程,我在下面展示了它們:Classes|___ Starter.java (main class)|___ Line.java|___ CrossSection.java|___ SectionAssigner.java在我的主類中,我創(chuàng)建了 ArrayList 變量,其中包含來自Line、SectionAssigner和CrossSection類的對象:public static void main(String[] args) {    ArrayList<Line> lines = new ArrayList<Line>();    ArrayList<Line> lineKeeper = new ArrayList<Line>();    ArrayList<CrossSection> crossSections = new ArrayList<CrossSection>();    ArrayList<SectionAssigner> sectionAssigners = new ArrayList<SectionAssigner>();}SectionAssigner類的構造函數(shù)有兩個參數(shù),即ArrayList和CrossSection:public SectionAssigner(ArrayList<Line> lineList, CrossSection crossSection){    this.lineList = lineList;    this.crossSection = crossSection;}此外,SectionAssigner類通過getLinesLength()函數(shù)返回所有行的長度(this.linelist ) :public ArrayList<Double> getLinesLength(){    for (int k=0; k<this.lineList.size(); k++) {        this.returnedIndex.add(this.lineList.get(k).getLength());    }    return this.returnedIndex;}在我的主類的以下代碼行中,我詢問用戶“您想將哪些線和橫截面分配給 SectionAssigner?”,然后我將用戶線選擇保存在linekeeper變量中,將橫截面索引保存在crossSectionIndex變量中。然后,使用這些數(shù)據(jù),我從SectionAssigner創(chuàng)建一個新變量,它也被插入到sectionAssigners ArrayList:sectionAssigners.add(new SectionAssigner(lineKeeper, crossSections.get(crossSectionIndex)));最后,我向用戶展示了哪些線路分配給了哪些部分:System.out.println("SectionAssigned" + counter + ": " + sectionAssigners.get(counter).getLinesLength() ); 這些代碼和我正在嘗試做的事情可能很難理解,所以我將在下面用一個例子來說明它們:假設用戶有 6 行索引為Line0Line1Line2Line3Line4Line5之后,用戶想要像下面這樣進行橫截面分配:SectionAssign0: Line0, Line1SectionAssign1: Line2, Line3, Line4, Line5因此,在上面的示例中,控制臺應該在 SectionAssign0 中顯示第 0 行和第 1 行;SectionAssign1 中的 line2、line3、line4、line5。但是控制臺顯示如下而不是:SectionAssign0: Line0, Line1, Line2, Line3, Line4, Line5SectionAssign1: Line0, Line1, Line2, Line3, Line4, Line5我不完全了解 ArrayList 的用法。一個類中的一個 ArrayList 的元素是否保留從該類創(chuàng)建的所有對象?還是我犯了任何致命錯誤?
查看完整描述

1 回答

?
Helenr

TA貢獻1780條經(jīng)驗 獲得超4個贊

一個類中的一個 ArrayList 的元素是否保留從該類創(chuàng)建的所有對象?

不,只有那些添加了它。

問題在這里:

sectionAssigners.add(new SectionAssigner(lineKeeper, crossSections.get(crossSectionIndex)));

你們sectionAssigners都使用相同 ArrayList的(lineKeeper)。如果您希望他們單獨存儲東西,他們每個人都必須擁有自己的東西 ArrayList而不是共享。


查看完整回答
反對 回復 2022-12-15
  • 1 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號