2016-05-10 26 views
-1

Ich muss Stoppwörter aus einer Zeichenfolge entfernen. Ich verwende den folgenden Code, um Stoppwörter zu entfernen und die endgültige Ausgabe in einem textView festzulegen. Aber wenn ich den Code ausführe, gibt es immer die Ausgabe "Bugs". Mit anderen Worten, es gibt mir immer das letzte Zeichenwort als Ausgabe. Bitte überprüfen Sie meinen Code und Hilfe!Entfernen von Stoppwörtern aus String

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); 
    } 
} 

Antwort

2

t1.setText(str); bedeutet, es ist egal, was der vorherige Text war. Es setzt den letzten in Schleife. Verwenden Sie stattdessen append.

t1.append(str); 

oder anhängen jeden einzelnen str auf einen einzelnen String und eingestellt, dass in TextView nach der Schleife.

+0

Danke, es funktioniert :) –

+0

@ArslanAli Großartig zu hören. –

+0

Können Sie mir sagen, was zu tun ist, um Leerzeichen in der endgültigen Ausgabe geben Iam bekommen die Ausgabe möchte ich aber alle Wörter sind verbunden. Sie sollten durch Leerzeichen getrennt sein. –

1

Die Ausgabe ist "Bugs." Wegen dieser Codezeile:

t1.setText(str); 

, die die Textansicht jedes Mal innerhalb der Schleife neu schreiben. Da die letzte Iteration das Wort "Bugs." Lautet, werden in der Textansicht Fehler angezeigt.

Wenn Sie die Zeichenfolge statt anhängen möchten Wieder writting es verwenden:

t1.append(str); 

Hoffe, es hilft.

+0

Vielen Dank, es funktioniert –