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