0

私は次のものを持っています:

InputStream inputFromServer
TextArea t
String display
String validation

文字列表示は入力ストリームからのデータを保持し、それをテキスト領域に追加します。表示に検証が含まれているかどうかを確認したいのですが、それをテキスト領域に書き込まないでください。ここに私が現在持っているコードがあります:

while ((inputFromServer.read())!=-1)
{
    display = display + ((char)inputFromServer.read());
    t.setText(s);
}

私は次のようなものが欲しい:

while ((inputFromServer.read())!=-1)
{
    display = display + ((char)inputFromServer.read());
    if display contains validation {
        THEN DONT WRITE IT TO THE TEXT AREA
    } 
    else{
        t.setText(s);
    }
}

方法が完全に間違っている場合、誰かが私を正しい方向に導くことができますか? ありがとう

4

2 に答える 2

0

検証Stringはおそらく初期化されていないので、それに対してチェックできます

display += ((char)inputFroMServer.read());
if(validationString.equals("") || !display.contains(validationString)) {
      t.setText(display);
}

または、コメントで言ったように、次のことができます。

!display.toLowerCase().contains(validationString.toLowerCase()) 

ケースを気にしなければ

また、表示文字列を何度も編集する場合は、StringBuilderの使用を検討する必要があります。

于 2012-04-30T00:37:34.740 に答える
0

あなたはこのようにすることができます:

while ((inputFromServer.read())!=-1)
{
    display = display + ((char)inputFromServer.read());
    if (!display.contains(VALIDATION_STRING) {
        t.setText(s);
    } 
}
于 2012-04-30T00:32:33.790 に答える