【问题标题】:Android - count the number of occurrences androidandroid - 统计android出现的次数
【发布时间】:2017-01-24 19:44:59
【问题描述】:

我有代码

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

我可以得到文本,但我无法计算字符串中的字符“a”。你能帮帮我吗?

谢谢

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

【问题讨论】:

标签: android


【解决方案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 的建议进行了编辑。

【讨论】:

  • 我正在编辑一个 android 应用,所以我只是粘贴代码并查看 :)
  • 这个问题的问题是 but i can't counts character 'a' in string 可以表示任何东西:)
  • 如果我有 String b = et2.getText().toString(); , b 是特殊字符,我想在字符串中计数 b。我该怎么办?
  • 可以找指针here
【解决方案2】:

您将整数 ad 作为 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]"

【讨论】:

    猜你喜欢
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 2016-08-23
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    相关资源
    最近更新 更多