2016-11-22 279 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不客气 –