2013-03-24 75 views
0

我知道这是一个非常基本的问题,但我只是新的节目,我觉得我'一个很简单的问题挣扎......但在这里我们去:对2Darray与1darray for循环

在我的应用程序中,我有一个这样的数组的数组存储从MySQL数据库检索到的数据。

data_array[][] 

0001 | data1 | data2 | data3 | data4 | data5 
0002 | data1 | data2 | data3 | data4 | data5 
... 
... and so on. 

现在,在我的应用程序,我需要检索每个行的第一柱的侧向承载力,具有类似结尾:

array { 0001, 0002} 

我知道这样“为重复”我可以检索所有数据:

public String[] itarray{ 
int cols = 5; 
String[] xFINAL; 
for (int i=0 ; i < data_array; i++) { 
    for (int j=0; j < cols; j++){ 
     xFINAL = data_array[i]; 
     System.out.println("1" + data_array[i][0]); 

    } 

System.out.println(" "); 
} return xFINAL;} 

但是我怎样才能得到每一行的第一列?我试着用类似的东西:

int j=0; 
for (int i = 0; i < data_array ; i++){ 
xFINAL[j] = data_array [i][0]; 
j++; 
} 

但它给了我一个空指针。我怎么能这样做?

在此先感谢。

+2

只是一点小技巧 - 你不需要那个“j”(对于你在那里的最后一个代码块)。只需使用我(它也增加1)。 – jessechk 2013-03-24 16:03:52

+4

你得到一个空指针异常,因为'xFinal'没有被初始化。首先使用'xFinal = new String [data_array.length]'。 – 2013-03-24 16:04:41

回答

1
String[] xFINAL = new String[data_array.length]; 

int k =0; 
for (int i=0 ; i < data_array; i++) { 
    array[k++] = data_array[i][0]; 


} 
+1

仍然不需要k – jessechk 2013-03-24 16:19:50

+0

必须在这里做一点改变:for(int i = 0; i user2097111 2013-03-24 17:50:14