2013-10-02 2 views
2

Все, что я пытаюсь сделать, это изменить ArrayList. Есть ли способ, которым я мог бы это сделать с помощью toString, или просто создать метод, как я. Im так близко, любые ответы помогут! Благодаря!Реверсивный 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', поэтому вы можете получить к ней доступ только через ссылку на объект «Кошелек» или внутри метода экземпляра «Кошелек» '. –

Смежные вопросы