2015-04-26 5 views
0
public static ArrayList<int []>[] activity=new ArrayList[nbAct]; 

public static ArrayList<int[]> services; 

public ActivityServices(){ 

for(int i=0;i<nbAct;i++){ 
    activity[i]=null; 
    for(int j=0;j<nbService;){ 
     services.add(j,null);` 
     int[] qostab=new int[nbQoS]; 
     for(int q=0;q<nbQoS;q++){ 
      qostab[q]=valuesServices[q][i][j]; 
      } 
     services.set(j, qostab); 
      j++; 
    }activity[i]=services; 
}  

Я использую активность [], чтобы добавить другие услуги в свой класс, и мне нужно использовать их после. Зная, что каждый вид деятельности [i] имеет разный размер:
т.е.: Деятельность [1] ---> 2 услуги деятельность [2] ---> 6 услуг Я хочу, чтобы она отображала 2 для деятельности [1 ] и 6 для деятельности [2], а не количество элементов у меня есть = 2+ 2 + 6 = 10Размер arraylist arraylist

+1

Не могли бы вы добавить пример своих входов? – grill

+0

Я поставлю свой пример – Imanopholist

+0

Вы также должны добавить вывод, который вы получаете, а также ожидаемый результат. Где печатаются эти значения? – grill

ответ

0

несколько вещей, чтобы отметить:

  • qostab [Q] представляет собой массив независимо содержится in valuesServices [q] [i] [j]
  • Значение qostab [q] (которое является значением valuesServices [q] [i] [j]) добавляется к услугам в месте индекса j
  • Похоже, что может произойти ошибка с вашим исходным кодом, но из того, что я могу сказать, вы хотите разместить службы в активности. [I]
  • services - это ArrayList из int []. Это не ArrayList из int. Вероятно, поэтому вы не получаете ожидаемого результата. (?)

Исправленный код:

public ActivityServices(){ 

for(int i=0;i<nbAct;i++){ 
    activity[i]=null; 

    for(int j=0;j<nbService;){ 
     services.add(j,null);` 
     int[] qostab=new int[nbQoS]; 

     for(int q=0;q<nbQoS;q++){ 
      qostab[q]=valuesServices[q][i][j]; 
     } 
     services.set(j, qostab); 
    } 
    activity[i]=services; 
}  
+0

@imanopholist не забывайте поднимать и принимать этот ответ, если это помогло – grill

0

Большое спасибо за ваше время и экспликации. Моя ошибка заключалась в создании сервисов за пределами цикла, который не создает новых «сервисов» при каждом действии. Поэтому, когда я показываю размер активности [i], он дает мне размер услуг, потому что он единственный, который существует.

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