2016-09-16 68 views
-1

的數量我有一個代碼Android的 - 數出現的Android

String a = et1.getText().toString(); 
      int ad = 0; 
      for(int i =0 ; i<a.length(); i++){ 
       if(a.charAt(i)== 'a'){ 
        ad++; 
       } 
      } 
      Toast.makeText(MainActivity.this, 
        ad, Toast.LENGTH_LONG).show(); 

我的gettext確定,但我不能「a」的字符串數字符。你可以幫我嗎? 。

由於

另一個,
如果我有串B = et2.getText()的toString(); ,b是特殊字符,我想在一個字符串中計算b。我能做些什麼?

+1

[因爲''A'!='a''](http://ideone.com/GvwVL8) – Selvin

回答

0

你逝去的整數廣告在敬酒參數,整數考慮作爲資源ID,使用

Toast.makeText(MainActivity.this, 
        String.valueOf(ad), Toast.LENGTH_LONG).show(); 

這是計算字符數的另一種方式。

String s = "hghhaahghaa"; 
int count = s.length() - s.replaceAll("[aA]", "").length(); 

更換你想在上面的字符數的字符「a」「A」兩者都將被計算在內。

,如果你只想字符 'a',那麼取代「[AA]」「[1]」

1

因爲您要向Toast.makeText()發送一個int,所以它正在查找資源id,而不是將int顯示爲字符串。

String a = "asjasuhuashu"; 
    int ad = 0; 
    for(int i =0 ; i<a.length(); i++){ 
     if(a.charAt(i)== 'a'){ 
      ad++; 
     } 
    } 
    Toast.makeText(this, 
      ad + "", Toast.LENGTH_LONG).show(); 

根據Selvin的建議進行編輯。

+1

不錯的發現...'ad +「」'更短:) – Selvin

+0

我正在編輯一個android應用程序所以我只是粘貼了代碼,看起來:) –

+0

這個問題的問題是*,但我不能統計字符串'a'的字符串*可以意味着任何:) – Selvin