2016-05-07 21 views
1

私は編集テキストを持っており、ユーザはアイテムを入力できます。ユーザが入力した配列内のアイテムのインデックスを検索

`EditText editText=(EditText)findViewById(R.id.edit); 

String s=editText.getText().toString(); 

String [] array= s.split("\");` 

ユーザがD\A\E\Bと入力したとします。今私はindexの 'E'を見つけたいと思いますが、どうすればいいですか?

+0

配列[2]はEを使用します。 – sushildlh

+0

@Nikhil Kumarおそらくあなたはこれを言い換えることができますか? javaがゼロベースの配列を使用するので、3番目の項目のインデックスは2です。 – Tibrogargan

+0

私は配列の中に何があるか知っているので、Eのインデックスは2であることが分かります。しかし、私の質問は、ユーザーが配列を入力したので、どのようにユーザーが何を入力したのか分かります。私は "仮定"を書いたので、私はユーザーが何を入力することができるか分かりません。あなたは私のポイントを持っていますか? – Eagle

答えて

1

ここにある:index-1ある場合

EditText editText=(EditText)findViewById(R.id.edit); 

String str = "E"; // string you search for 

String s=editText.getText().toString(); 

String [] array= s.split("\"); 
int index = -1; 

for (int i = 0; i < array.length; i++) { 
    if (array[i].equals(str)) { // use equals, not == 
     index = i; 
     break; 
    } 
} 

ので、ユーザーの入力配列にはstrはありません。それが-1より大きい場合は、インデックスが取得されます。 (breakがあるのでindexが見つかるので、arrayのトラフを続ける必要はありません)。

0

あなたは怒鳴るような関数を書いて、それを使用することができます。

int index getIndex(String s,String[] arr) 
{ 
    for (int i=0;i<arr.length();i++) 
    { 
     if(arr[i].equals(s)) 
     { 
      return i; 
     } 
    } 
    return -1; 
} 

も、これはテストされていませんが、それはあなたに良いビューを提供します。

0

あなたはこの

静的な文字列データ= "Z/D/F/G" のような任意のインデックスを見つけることができます。 static String s = "f";

public static void main(String[] args) { 

    String array[] = data.split("/"); 
    for (int i = 0; i < array.length; i++) { 
     if (array[i].equals(s)) { 
      System.out.println("index is:"+i); 
     } 
    } 

} 
関連する問題