0
我有一個向量類型水果。我可以在畫布上插入不同類型的水果。如果我有兩個重疊的水果,我希望能夠在選擇後提高水果,使其現在看起來好像在其他水果之上。如何更改矢量元素的排序?
我的基本想法是在按下jbutton後調用raiseFruit()。我創建了一個temp變量設置爲等於所選的水果,然後嘗試將其設置爲等於(a + 1)處的水果...以便向量中的下一個位置。然後我將其設置爲等於temp變量。我認爲這是正確的想法?
public void raiseFruit() { //raisefruit button
if (_fruitIsSelected==true) {
for (int i=0; i<_storedFruit.size() - 1; i++) {
FunFruit a = _storedFruit.get(i);
FunFruit b = _storedFruit.get(i + 1);
if (_storedFruit.get(i+1)!=null) {
FunFruit temp = a;
_storedFruit.get(i) = _storedFruit.get(i+1);
a=b;
b = temp;
//_storedShapes.setElementAt(_storedShapes.get(i+1), i);
//_storedShapes.setElementAt(_currentShape, i+1);
repaint();
}
}
}
}
我曾嘗試使用setElementAt,它會工作,但當時如果我按「raisefruit」它再次將在它前面的元素只是完全消失。我剛剛發佈了上面的代碼,其中部分代碼在它前面消失了。而不是「a = b」,我試圖設置變量a中向量中的變量a等於變量b中向量中的數值。除此之外,我不斷收到一個錯誤,指出「左側必須是變量」。因爲我知道只是設置a =只是改變指針。我不知道如何在矢量內實際改變它,沒有刪除前面的水果元素。
只是好奇,你在哪裏學習使用'Vector'?你確定你沒有閱讀過時的Java書籍/教程嗎?自從十多年以來,Vector矢量被認爲是一個遺留/過時的類。 – BalusC
爲什麼一個矢量被認爲是一個過時的類?我學會了在高中的AP計算機科學課程中使用它們。 – Susie
向量肯定不是過時的。儘管它們的用處與ArrayList或從Collections類中獲取的對象一樣好,但它們仍然具有其他類似類中不具備的功能。 – Crollster