2012-03-03 17 views
-1

すでに配列内にある文字をString文字ずつ読みたいです。条件が満たされない場合は、

String ss = "makassar"; 
String my_array[] = ss.split(""); 
for (int i = 1; i < ss.length()+1; i++) { 
    if (my_array[i]=="m") { 
    Toast toast = Toast.makeText(this, "Array is M", Toast.LENGTH_SHORT); 
    toast.setGravity(Gravity.CENTER, 0, 0); 
    toast.show(); 
    // Toast not show 
    } 
} 

トーストが表示されません。どうして?何か案が?

+4

脇の下として、中括弧の戦略を再考することができます。 – summea

+0

@summea私は中括弧を行う方法はたくさんあるようですが、それほど読めないものはありません。 –

+0

@summea - ちょうど彼がHorstmannスタイルが間違っていないのが好きになったからです。 –

答えて

4

文字列を比較するには、equals()で、operator==でない文字列を使用する必要があります。オブジェクトの同一ため

operator==チェック一方equals()チェック平等 [2列が互いに等しい場合]、[左右が同じオブジェクトである場合]。

変更この:これに

if (my_array[i]=="m") 

if ("m".equals(my_array[i])) 

また、あなたがi = 0なくi = 1から起動する場合がありますので、my_array[1]は、第一、第二の要素である、とないことに注意してください

+0

うわー。ありがとう、非常に男..ああ、配列の開始インデックス= 0; 申し訳ありません、私は初心者です –

0

forループをループに変更するi0から未満0。

関連する問題