2013-06-12 52 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和创建新列表有什么好处?感谢大家的回复。非常感谢。 –