Для цикла с массивом - PullRequest
       25

Для цикла с массивом

0 голосов
/ 06 ноября 2019

У меня есть следующий цикл:

arrayI = new POJO_I [response.body().length];
arrayI = response.body();
arrayOfNamesMain = new String[10];

for(int t = 0; t< arrayI.length; t++) {
    if (arrayI[t].getMain().equals("1")) {
        arrayOfNamesMain[t] = arrayI[t].getName();
    }
}

После окончания цикла у меня есть arrayOfNamesMain с несколькими первыми пустыми элементами, так что фактически он начинается с 5-го индекса, потому что первые позиции arrayI[t]не в операторе if.

Что я должен сделать для заполнения моего arrayOfNamesMain из 0 индексов? Как я могу отсортировать массив и удалить пустые элементы?

Ответы [ 3 ]

1 голос
/ 06 ноября 2019
arrayI = new POJO_I [response.body().length];
arrayI = response.body();
arrayOfNamesMain = new String[10];
int i = 0;
for(int t = 0; t< arrayI.length; t++) {
    if (arrayI[t].getMain().equals("1")) {
        arrayOfNamesMain[i] = arrayI[t].getName();
        i++;
     }
}
1 голос
/ 06 ноября 2019

используйте другую переменную-счетчик внутри блока, который начинается с 0, и увеличивайте его внутри, если блок, если условия удовлетворяют ... это решит вашу проблему. int j = 0;arrayOfNamesMain [j] = arrayI [t] .getName ();

1 голос
/ 06 ноября 2019

Заполните ваш arrayOfNamesMain, используя другой счетчик.

arrayI = new POJO_I [response.body().length];
int counter = 0;
arrayI = response.body();
arrayOfNamesMain = new String[10];

for(int t = 0; t< arrayI.length; t++) {
    if (arrayI[t].getMain().equals("1")) {
        arrayOfNamesMain[counter] = arrayI[t].getName();
        counter++;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...