2013-10-02 43 views
2

所有即時通訊的嘗試是顛倒ArrayList。有沒有一種方法可以通過toString來完成,還是應該像我一樣創建一個方法。我如此接近,任何答案都會有幫助!謝謝!反向ArrayList <String>

package edu.purse.test; 

    java.util.ArrayList; 
    import java.util.Collections; 

    public class Purse 
{ 
ArrayList<String> coins = new ArrayList<String>(); 
public Purse() 
{ 

} 
public void addCoin(String coinName) 
{ 

    coins.add(coinName); 
} 
public String toString() 
{ 
    return "Purse" + coins.toString(); 
} 
public ArrayList<String> getReversed(ArrayList<String> coins) 
{ 
ArrayList<String> copy = new ArrayList<String>(coins); 
Collections.reverse(copy); 
return copy; 
} 

} 

TESTERCLASS

package edu.purse.test; 

    import java.util.Collections; 
    import java.util.List; 

    public class PurseTester { 
public static void main(String[] args) { 
    Purse p = new Purse(); 
    p.addCoin("Quarter"); 
    p.addCoin("Dime"); 
    p.addCoin("Nickel"); 
    p.addCoin("Penny"); 
    System.out.println(p.toString()); 

    p.getReversed(coins); 
} 

}

回答

7

方法

p.getReversed(coins); 

返回一個反轉列表。你可以把它打印出來

System.out.println(p.getReversed(coins)); 

請注意,您得到您的實例的列表的副本,扭轉這一,然後返回它。如果您想保留更改,請致電Collections.reverse(),原件coins

+0

非常感謝你。那太簡單了! –

+0

好吧,一旦我做System.out.println(getReversed(硬幣))在測試儀類它說硬幣不能被解析爲一個變量。這是因爲我在類中命名了我的ArrayList 而不是測試者類? –

+0

@ChanceSmith變量有一個作用域(關鍵字,查看更多細節)。它們只能用於它們聲明的範圍中。變量'coins'是'Purse'的實例成員,因此您只能通過對「Purse」對象的引用或者在「Purse」的實例方法內訪問它'。 –

相關問題