2012-07-10 109 views
-1

我試圖採取一些輸入字符串,並有匹配兩個字符串&&但得到的要麼匹配/或

do { 
} while 

循環匹配字符串與

while (!sqlw.equals(w) && !sqlc.equals(c)); 

然而,這如果其中一個或另一個匹配,則返回正匹配,而不是兩者匹配。有任何想法嗎?我想這很簡單。

+0

我們可以看到您的輸入/輸出嗎? – 2012-07-10 21:50:32

+1

您使用哪種語言? – jeschafe 2012-07-10 21:51:54

+0

嗨 - 所以我設置字符串sqlw =「」;和String sqlc =「」;在腳本的前面,然後打開SQLdb並提取field1和field 2,並將這些分配給sqlw ad sqlc。早期的用戶輸入從動作按鈕中放入「w」和「c」.....然後只需嘗試在W和C而不是W或C上找到匹配項 - 這是通過Exclipse的Java XML。所以當這些「w」和「c」不匹配時一邊做東西,然後就匹配掉while循環來呈現匹配的數據。 – 2012-07-10 21:53:33

回答

0

那麼,事情是,在這一行:

while (!sqlw.equals(w) && !sqlc.equals(c)); 

表達爲假如果任sqlw.equals(W)是真還是SQLC(使sqlw.equals(W)假的!)!等於(c)爲真(使!sqlc.equals(c)爲假)。

嘗試用||更換& &像這樣

while (!sqlw.equals(w) || !sqlc.equals(c)); 

這樣,表達式爲假僅當!sqlw.equals(W)和!sqlc.equals(c)是兩個假(即,當兩者匹配)。

編輯:您還可以將其更改爲

while (!(sqlw.equals(w) && sqlc.equals(c))); 

它做同樣的事情,但也許有點更忠實於你想要(循環,而我們還沒有匹配兩者)是什麼。

+0

輝煌 - 知道它必須是簡單的東西----感謝大家的幫助....這固定它.... – 2012-07-10 22:19:11

0

equals方法返回一個布爾值。嘗試sqlw.equals('w')== false。

另外,還要確保你的數據類型是在兩種情況下是相同的。一個可能是一個字符串,另一個可能是某種數組對象。

+0

是==而​​不是int和char而不是字符串? – 2012-07-10 22:02:20

+0

sqlw.equals('w')進行實際的比較,並返回0或1的值(或者像你一樣真或假)。因此我在這裏比較了返回值。 – Shawn 2012-07-10 22:04:57

+0

擴展的代碼是String sqlcost =「」; \t \t \t String sqlweather =「」; – 2012-07-10 22:05:26