[英]copying elements of an array-list to the other array-list
我寫了這樣一個簡單的代碼:
我已經在類的構造函數中編寫了以下代碼: List element = new ArrayList();
我有一個名為cost
的變量,其類型為int
一種方法將返回三個具有不同對象的列表: listOne, listTwo, listThree
在另一種方法中,我在下面編寫了代碼,該方法將使用在上述方法中創建的那些列表。對於上面的三個列表,此方法將被調用三次。 每個清單的每個通話。
// begining of the method: int cost = 0; if(cost==0){ element = listOne; cost = 3; } if(cost<4){ element = listtwo; cost = 6; } // end System.out.println(element.toString());
不幸的是,它不是打印listTwo
而是打印listThree
(如果我們有4個或更多列表,它將打印最后一個)!
if-else條件是否有問題?
謝謝
編輯:這是我主要的代碼,但其條件是像上面的代碼: auxiliaryList
在下面的代碼是listOne
或list Two
或listThree
分別。
cost = 0;
public void method {
System.out.println(element.toString());//number one
if (cost== 0) {
element = auxiliaryList;
cost = 3;
}
else if( cost<4){
element =auxiliaryList;
cost = 6;
}
}
return;
}
}
同樣用//number one
聲明的行也向我表明,在進入if / else條件之前,元素列表將設置為方法中的當前列表。
if-else條件是否有任何問題。
是的-問題是您沒有使用 if / else,而是只使用了兩個if語句。
if
使用else
,則更改第二個就可以了:
if (cost == 0) {
element = listOne;
cost = 3;
} else if (cost < 4) {
element = listtwo;
cost = 6;
}
問題是,如果cost
為0,它將進入第一個塊,將cost
設置為3,然后進入第二個塊,因為3小於4。沒有“ else”阻止這種情況發生-兩個if
塊是完全獨立的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.