我有一個edittext並允許用戶輸入項目。查找用戶輸入的項目索引
`EditText editText=(EditText)findViewById(R.id.edit);
String s=editText.getText().toString();
String [] array= s.split("\");`
假設用戶輸入了D\A\E\B
。現在我想找到'E'的index
,我該怎麼做?
我有一個edittext並允許用戶輸入項目。查找用戶輸入的項目索引
`EditText editText=(EditText)findViewById(R.id.edit);
String s=editText.getText().toString();
String [] array= s.split("\");`
假設用戶輸入了D\A\E\B
。現在我想找到'E'的index
,我該怎麼做?
這:
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
)。
你可以寫像波紋管的功能,並使用它:
int index getIndex(String s,String[] arr)
{
for (int i=0;i<arr.length();i++)
{
if(arr[i].equals(s))
{
return i;
}
}
return -1;
}
也這不是測試,但它會給你一個很好的觀點。
你可以找到這樣
靜態字符串數據= 「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);
}
}
}
array [2]有E使用它; – sushildlh
@Nikhil庫馬爾也許你可以改說這個?由於java使用基於零的數組,所以第三項的索引是2。 – Tibrogargan
我知道E的索引是2,只是因爲我知道數組中有什麼。但我的問題是用戶輸入數組,所以我怎麼知道用戶輸入了什麼。我寫了「假設」,所以我不知道用戶可以輸入。希望你得到我的觀點 – Eagle