2013-06-12 60 views
1

我通過這本書的Java工作和所遇到的練習,我似乎無法來解決。這個想法是創建一個ArrayList錢包,其中包含很多硬幣並將其打印出來。我已添加...錢包計劃

static String d = "Dime"; 
static String q = "Quarter"; 
static String n = "Nickel"; 

purse.addCoin(d); 
purse.addCoin(q); 
purse.addCoin(d); 
purse.addCoin(n); 

...在我的主類。我的打印方法工作正常,我只需要弄清楚如何處理數組列表中的所有元素,然後將其打印出來。我的反向循環在從最後遍歷數組列表方面效果很好,但我不確定如何刪除不需要的元素。我很明顯願意以不同的方式處理這個問題,因爲我希望以正確的方式進行這項工作。這是我的反向方法:

public static void printInReverse() { 
    for (int i = p.size() - 1; i >= 0; i--) { 

     p.add(p.get(i)); 
     //I'm lost here as far as approaching the method this way 

    } 

    System.out.println("Purse" + p); 
} 

我試圖研究這個,但似乎無法找到一個可靠的解決方案。

+0

我不明白你正在嘗試做的。如果您只是想反向打印元素,則無需將其移除。 – djechlin

+0

實際上沒有必要刪除它們,因爲我從每個人的回覆中發現它們。我以一種比本來應該更復雜的方式來接近它。 –

回答

0

如果你的目標很簡單,就是打印出所有的元素在倒車時,你可能只是簡單地通過反向您的數組循環,並打印出的項目,如您遍歷它們。

2
  1. 是否有你需要從列表中刪除東西的原因嗎?只需反向打印,不要實際修改列表。

    的for(int i = P.SIZE() - 1; i> = 0;我 - ){

    System.out.println(p.get(i)); 
    

    }

  2. 如果你想扭轉名單 - 只考慮使從頭插入相反的順序元件列表。然後換出新的舊名單。或使用Collections.reverse

+0

各位表現優秀。儘管我並不知道Collections類。這很方便。創建一個新列表並使用新列表似乎是實現反轉列表的最有效方式。使用Collections.reverse和創建新列表有什麼好處?感謝大家的回覆。非常感謝。 –