私はいくつかの入力文字列を取り、
do {
} while
文字列に一致するループ
while (!sqlw.equals(w) && !sqlc.equals(c));
ただし、これは、両方ではなく、どちらか一方が一致した場合に肯定的な一致を返します。何か案は?シンプルなものではないかと思います。
つまり、次の行にあります。
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) が両方とも false の場合 (つまり、両方が一致する場合) にのみ false になります。
編集:次のように変更することもできます
while (!(sqlw.equals(w) && sqlc.equals(c)));
これは同じことを行いますが、おそらくあなたが望んでいたものにもう少し忠実です (両方を一致させていない間はループします)。
equals メソッドはブール値を返します。sqlw.equals('w') == false を試してください。
また、どちらの場合もデータ型が同じであることを確認してください。1 つは文字列で、もう 1 つは何らかの配列オブジェクトです。