2017-03-23 26 views
-3
String s; //contains the main string i have to input 
String s1; //is the set of the 1st and 3rd word 
String st; //st is to get the 3 words separately 
char c; 
int i; 
     int l=s.length();//l is for length of string 
for(i=0;i<l;i++){ 
       c=s.charAt(i); 
       if(c==' '){ 
        if(st.equals("Middle")){ 
        st=""; 
        } 
        else{ 
        s1=s1+" "+st; 
        st=""; 
        } 
       } 
       else{st=st+c;} 
    } 
    System.out.println(s1); 

私はこの質問に3時間を費やしましたが、私のコードが最初の単語だけを出力して残りの2語を残している理由をデバッグできません。私はこのプログラムを実行する方法を知っていますが、この方法は新しく、何が間違っているのか分かりません。3語の文字列から中間語を削除するにはどうすればよいですか?

+1

[mcve] – Jens

+1

と入力してください。 'l'、' st'および 'c'とは何ですか? – Mistalis

答えて

0

splitを使用してください。 たとえば、文字列が "A String Example"の場合。

String[] array; 
String txt = "A String Example"; 
String output; 
array=txt.split(" "); // split the text using space. 
output = array[1]; // if you want to keep the second word. 

この時点で、配列には[A、String、Example]という文字列が含まれています。テキストがスペースを含んでいる場合はどこにでも分割されているからです。次に、あなたが好きな言葉を選んでください。中間の単語を配列[1]などにしたい場合は

+0

Thanx .........私はこのメソッドを知っています。質問にあるコードのエラーを知りたい私の典型的なプログラマーです:) –

+0

"Middle"入力テキストに入力します。なぜそれを行うのですか? – gvlachakis

+0

ミドルは、文字列の中間の単語にすぎません。私はこの単語を削除することによってこのプログラムをコーディングする必要があります。中間語がABCならば、私はABCを中間語の代わりに使用します。 –

関連する問題