2016-05-07 50 views
1

我有一個edittext並允許用戶輸入項目。查找用戶輸入的項目索引

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

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

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

假設用戶輸入了D\A\E\B。現在我想找到'E'的index,我該怎麼做?

+0

array [2]有E使用它; – sushildlh

+0

@Nikhil庫馬爾也許你可以改說這個?由於java使用基於零的數組,所以第三項的索引是2。 – Tibrogargan

+0

我知道E的索引是2,只是因爲我知道數組中有什麼。但我的問題是用戶輸入數組,所以我怎麼知道用戶輸入了什麼。我寫了「假設」,所以我不知道用戶可以輸入。希望你得到我的觀點 – Eagle

回答

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

所以,如果index-1,存在用戶輸入陣列沒有str。如果它大於-1,則獲得索引。 (break在那裏,所以你不需要繼續低谷array,因爲你找到index)。

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

} 
相關問題