【发布时间】:2016-03-30 01:58:34
【问题描述】:
好的,我正在制作一个应该能够通过使用字符串输入从数组列表中删除对象的方法。
假设我想从数组列表中删除以下数字:{1,2,4,3,3,1}。如何确保它只删除 1 & 3 两次和 4 & 2 一次?
我拥有的是:
mv.displayMessages("choosedicestokeep");
String in = mv.getInput();
for (char c : in.toCharArray()) {
int x = Character.getNumericValue(c);
for (Iterator<Integer> it = rollingHand.iterator(); it.hasNext(); ){
int i = it.next();
if (x == i) {
finalHand[finalArrIndex] = i;
it.remove();
finalArrIndex++;
}
}
}
但这会检查数组列表“RollingHand”并删除一个数字的所有实例,而不是我写一个我想要的数字的次数。
所以如果我输入 {1,1,1,2,2,4} 它应该删除三个 1、两个 2 和一个 4。
【问题讨论】:
-
可以使用break退出for循环
-
你想返回什么?
-
啊,当然!为什么我没有看到它是什么。我盯着它看得太深了,正在考虑计数器和布尔值。谢谢你!
-
rollingHand 是一个列表吗?你可以调用 rollingHand.remove(Integer.create(x))
标签: java arraylist integer conditional