2015-12-23 6 views
-1

Хорошо, я создаю метод, который должен иметь возможность удалять объекты из списка массивов с помощью ввода строки.Удалите объект n раз из списка массивов в JAVA

Скажите, что я хочу удалить следующие цифры: {1,2,4,3,3,1} из arraylist. Как я могу убедиться, что он удаляет только 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++; 
    } 
} 
} 

Но это проверяет ArrayList «RollingHand» и удаляет все экземпляры ряда, а не число раз я пишу номер, который является то, что я хочу.

Так что, если я вхожу {1,1,1,2,2,4} он должен удалить три 1s, 2s два и один 4.

+0

вы можете использовать break для выхода из цикла for – Mike

+0

, что вы пытаетесь вернуть? – OPK

+0

Ах, конечно! Почему я этого не видел. Я смотрел слишком глубоко в него и рассматривал счетчики и булевы. Спасибо, мужик! – Danny

ответ

0

https://stackoverflow.com/users/4584292/mike Решена очевидный ответ.

Решение проблемы вне внутренней петли решает проблему.

Метод ничего не возвращает, потому что он устанавливает private int [] finalHand в классе, к которому позже обращаются другие методы.

Все кредиты Майку!

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