我正在尝试使用多个输入字符串并拥有
do {
} while
循环匹配字符串
while (!sqlw.equals(w) && !sqlc.equals(c));
然而,如果其中一个匹配,则返回正匹配,而不是两者。有任何想法吗?我想这很简单。
答案 0 :(得分:0)
equals方法返回一个布尔值。尝试sqlw.equals('w')== false。
同时确保两种情况下的数据类型相同。一个可能是一个字符串,另一个是某种数组对象。
答案 1 :(得分:0)
所以,事情是,在这一行:
while (!sqlw.equals(w) && !sqlc.equals(c));
如果sqlw.equals(w)为true(使得!sqlw.equals(w)为false)或!sqlc.equals(c)为true(使得!sqlc.equals(c)为false),则表达式变为false。
尝试更换&&与||像这样
while (!sqlw.equals(w) || !sqlc.equals(c));
这样,只有当!sqlw.equals(w)和!sqlc.equals(c)都为假(即两者都匹配)时,表达式才为假。
编辑:您也可以将其更改为
while (!(sqlw.equals(w) && sqlc.equals(c)));
它做了同样的事情,但也许更忠实于你想要的东西(循环而我们没有匹配两者)。