2015-05-07 2 views
0

Я создал массив ArrayList, но я не знаю, как их печатать. Вот что я пытаюсь сделать:Печать ArrayList массивов в Java

int j=0; 
    for (int i=0; i<aArray.length-1; i++){ 
     exp=new int[100]; 
     if (Character.isDigit(aArray[i])){ 
      if(Character.isDigit(aArray[i])==true && aArray[i-1]=='-'){ 
       exp[j]=Character.getNumericValue(-(aArray[i])); 
      } 
      else{ 
       exp[j]=Character.getNumericValue(aArray[i]); 
      } 
      System.out.print(exp[j]); 

      j++; 
     } 
    } 
    System.out.println(" "); 
    list.add(exp); 
} 
for (int i=0; i<5; i++){ 
    System.out.println(list.get(i)[i]); 
} 

Все, что я получаю 5 нулей. Что мне не хватает? Практически, я читал .txt-файл в своей программе, и все, что я хочу сделать, является отдельным и записывает числа каждого из массивов exp [], а затем сохраняет их в списке (ArrayList из массивов).

+0

'System.out.println (list.get (i) [i]);' с этим вы печатаете только индекс 'i'th массива' i'th. Если вы хотите напечатать что-то двухмерное, вам обычно нужны два цикла 'for'. – Turing85

+0

Да, это я знаю, что это неправильно, но это не помогло. все, что я получаю, это нули, когда массив exp содержит 0,1, -1. – mitsoschelsea

+0

И aArray? –

ответ

0

Добавить цикл, чтобы пройти через каждый массив в списке тоже:

for (int i=0; i<5; i++){ 
    int[] tmp = list.get(i); 
    for (int j=0; j<tmp.length; j++) { 
     System.out.println(tmp[j]); 
    } 
} 

редактирования: Кроме того, необходимо добавлять в массив в ArrayList внутри для цикла, в противном случае вы добавляете нуль массив.

for (int i=0; i<aArray.length-1; i++){ 
    exp=new int[100]; 
    if (Character.isDigit(aArray[i])){ 
     if(Character.isDigit(aArray[i])==true && aArray[i-1]=='-'){ 
      exp[j]=Character.getNumericValue(-(aArray[i])); 
     } 
     else{ 
      exp[j]=Character.getNumericValue(aArray[i]); 
     } 
     System.out.print(exp[j]); 

     j++; 
    } 
    System.out.println(" "); 
    list.add(exp); 
} 
+0

спасибо, но я до сих пор получаю нули. Когда я печатаю массив exp, я получаю правильные значения, но когда я пытаюсь сделать это с ArrayList, все, что я получаю, равно 0. – mitsoschelsea

+0

Я понял вашу проблему и отредактировал свой ответ. – Ryan

+0

спасибо. теперь у меня другая проблема. независимо от того, «я» передаю в list.get (i), я получаю тот же массив. – mitsoschelsea

0

Проблема решена, ребята, мне просто нужно инициализировать массив ехра вне «для» петли, поместить «а» петлю и это все! Спасибо за ответы!

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