Android - 计算android

时间:2016-09-16 14:22:10

标签: 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 ok但我无法计算字符串中的字符'a'。你能救我吗?

由于

另一个,
如果我有String b = et2.getText()。toString(); ,b是特殊字符,我想在字符串中计数b。我该怎么做?

2 个答案:

答案 0 :(得分: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();

根据塞尔文的建议编辑。

答案 1 :(得分:0)

您正在将整数广告作为toast参数传递,该参数将整数视为资源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]”替换为“[a]”