2016-05-10 14 views
-1

ストリングからストップワードを削除する必要があります。ストップワードを削除し、textViewで最終出力を設定するには、次のコードを使用します。しかし、私がコードを実行すると、常に出力 "バグ"が発生します。言い換えれば、それは常に最後の文字列を出力として与えます。私のコードとヘルプを確認してください!ストリングからストップワードを削除する

public class Testing extends Activity { 
TextView t1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.testing); 
    t1= (TextView)findViewById(R.id.textView1); 
    String s="I love this phone, its super fast and there's so" + 
      " much new and cool things with jelly bean....but of recently I've seen some bugs."; 
    String[] words = s.split(" "); 
    ArrayList<String> wordsList = new ArrayList<String>(); 
    Set<String> stopWordsSet = new HashSet<String>(); 
    stopWordsSet.add("I"); 
    stopWordsSet.add("THIS"); 
    stopWordsSet.add("AND"); 
    stopWordsSet.add("THERE'S"); 

    for(String word : words) 
    { 
     String wordCompare = word.toUpperCase(); 
     if(!stopWordsSet.contains(wordCompare)) 
     { 
      wordsList.add(word); 
     } 
    } 

    for (String str : wordsList){ 
     System.out.print(str+" "); 
     t1.setText(str); 
    } 
} 

答えて

2

t1.setText(str);は、前のテキストが何であっても気にしないことを意味します。最後のものをループに入れます。代わりにappendを使用してください。

t1.append(str); 

または単一の文字列にすべての単一のstrを追加し、ループの後TextViewのそれを設定します。

+0

ありがとうございます:) –

+0

@ArslanAliよろしくお願いします。 –

+0

最後の出力にスペースを与えるために何をすべきか教えてください。 Iamは出力を得ていますが、すべての単語が結合されています。スペースで区切ってください。 –

1

出力は「バグ」です。

t1.setText(str); 

これはループ内で毎回textviewを書き換えます。最後の反復では単語が「バグ」であるため、テキストビューにはバグが表示されます。

あなたが代わりにそれを使用して再足すの文字列を追加したい場合は、次の

t1.append(str); 

はそれがお役に立てば幸いです。

+0

ありがとう –

関連する問題