2016-11-22 324 views
0

我有一個二維的ArrayList(我希望它的ArrayList)由比較字符串

String table[][]; 
table = new String[7][7]; 

我加了一些字符串定義,然後我試圖通過

int c = 0; 
int v = 0; 

for (int s = 0; s < 49; s++) { 
    if (s != 0) {  
     c++; 
    } 

    if (c == 6) { 
     v++; 
     c -= 6; 
    } 

    boolean check = table[c][v].equals("highlited"); 

    if (check) { 
     System.out.println("got one"); 
    } 
} 

,但我找對象程序不起作用,有什麼想法? 對於我所犯的所有錯誤,我很抱歉,我是編程世界中的新人。

+0

您在所包含的代碼中沒有ArrayList對象。他們都是陣列。 –

+0

爲什麼不使用兩個嵌套循環,每個循環都從0到6,並檢查數組中的每個位置? –

+0

你如何設置數組中的字符串? –

回答

1

使用調試器和打印C和V的值將顯示,你是不是覆蓋孔矩陣,但缺少最後一列(見下圖)

enter image description here

有很多種方法可以檢查矩陣的內容,我會建議雙for循環

int k = 7; 
String table[][]; 
table = new String[k][k]; 
int c = 0; 
int v = 0; 
for (int i = 0; i < k; i++) { 
    for (int j = 0; j < k; j++) { 
    boolean check = table[c][v].equals("highlited"); 
    if (check) { 
     System.out.println("got one"); 
    } 
    } 
} 

,或者你可以修改片段,並做到:

if (c == 7) { 
    v++; 
    c -= 7; 
} 

由於矩陣是7的倍數,所以更有意義

+0

謝謝!現在它可以工作,我可以看到我的錯誤。 – uskka

+0

@StefanPankowiecki不客氣 –