0

Processing で match 関数を使用して文字列を照合しています。ただし、文字列の配列内から文字列を照合しようとすると、問題が発生します。以下のコードは、私がやろうとしていることの例です:

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」を一致させます。文字列を人為的に変更してすべての文字を異なるものにすると、(そのときだけ) 「正しくない」という回答が返されます。これは、単純に 2 つの文字列を個別に比較する場合には当てはまりません。関数は (私が知る限り) 文字列全体が一致する場合にのみ満たされます。いつものようにどんなアイデアでも大歓迎です。

4

1 に答える 1

1

サンプルコードでは、を使用.equals()するだけで機能します。

if (BZ3.equals(BZ)) {
    println ("correct");
...
于 2012-09-07T22:03:55.997 に答える