2012-09-07 152 views
0

我一直在使用Processing中的匹配函數來匹配字符串。但是,當我嘗試從字符串數組中匹配字符串時遇到了問題。下面的代碼是什麼,我試圖做一個例子:使用處理匹配字符串數組中的字符串

String zj = "(V)X(PL)X(FR)"; 
String z = "(V)X(AV)X(FR2)"; 

String[] list4 = split (zj,'X'); 
String[] list5 = split (z, 'X'); 

String BZJ = list4[0]; 
String BZ = list5[0]; 

String [] Y = match (BZJ,BZ); 
if (Y != null) 
{ 
    println ("correct"); 
} 
else 
{ 
    println ("incorrect"); 
} 

問題是,我只收到「不正確」,如果所有的字符是不同的答案。從打印輸出看來,如果它可以匹配任何字符,該功能就會得到滿足。因此,對於示例代碼,我的程序將匹配「FR」和「FR2」。如果我人爲地改變字符串以使它們在每一個字符中都不同,那麼(並且只有這樣)纔會收到「不正確」的答案。如果我單獨比較兩個字符串,並不是這種情況,那麼函數(只要我能說)只在整個字符串匹配的情況下才能滿足。任何想法一如既往非常讚賞。

回答

1

在您的示例代碼,只需使用.equals()將工作:

if (BZ3.equals(BZ)) { 
    println ("correct"); 
...