我正在阅读这本 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);
}
我曾尝试对此进行研究,但似乎找不到可靠的解决方案。
最佳答案
有什么理由需要从列表中删除吗?只是反向打印,不要实际修改列表。
for (int i = p.size() - 1; i >= 0; i--) {
System.out.println(p.get(i));
如果您想颠倒列表 - 考虑从头开始制作一个新列表,并以相反的顺序插入元素。然后将旧列表换成新列表。或者使用
Collections.reverse
。
关于java - 零钱包计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076942/