Приходит масив, он разбивается на (цифра/нецифра), вот цикл для тех кто цифры:
ArrayList<Integer> cyfra = new ArrayList<Integer>();
for (int i=0;i<array.length;i++){
if(isNumber(array[i])){
a = Integer.parseInt(array[i]);
cyfra.add(i,a);
}
Почему не добавляет в новый масив с указанием того индекса (i) и данными по нему (a)? тоесть если просто cyfra.add(i); тогда все хорошо, но оидексы идут свои (0,1,2 ит д), а мне например надо по приходящим (3,5,7 и т д). Если пытаюсь так: cyfra.add(i,a); то выдает:
java.lang.IndexOutOfBoundsException: Index: 3, Size: 2
не пойму что тут не так, так как везде гугл говорит что можно так, где тут упущение?
Все данные приведены в ИНТ
Alex
14 уровень
Вопрос по добавлению данных в массив
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
LuneFox Java Developer в BIFIT Expert
10 июня 2019, 13:53
Я просто сделал, разбил на 2 массива, всё в одном цикле.
0
IceBergMaster
10 июня 2019, 09:53
cyfra.add(i,a); - это добавление по индексу, а так как некоторые индексы мы пропускаем, то произойдет вылет за границу списка.
cyfra.add(a); - просто будет добавлять по очереди.
0
Alex
10 июня 2019, 09:59
Тоесть, по сути надо проверить не пропущен ли индекс и если пропущен то добавить заглушку, которую потом можно заменить на 2-ю часть массива?
0
IceBergMaster
10 июня 2019, 12:59
Что-то я потерял твою мысль) просто добавляй cyfra.add(a), зачем здесь индексы нужны?
0