java - 统计字符串中所有数字出现的次数

标签 java string

我的任务是编写一个程序,以字符串作为输入(仅数字),并对于从 0 到 9 开始的每个数字,打印它们在字符串中出现的次数。 我已经完成了。我已经声明了 10 个带零的整数。每个整数都会统计对应的整数。但最后当我打印结果时,它给出的结果为 48+count 计数表示值出现的次数。 为了得到正确的结果,我需要减去 48。我无法理解为什么我会获得值(value)。

class TestClass {
public static void main(String args[] ) throws Exception { 
    Scanner sc = new Scanner(System.in);     
    int a='0',b='0',c='0',d='0',e='0',f='0',g='0',h='0',i='0',j='0';
    String s=sc.next();

    OUTER:
    for (int k = 0; k<s.length(); k++) {
        char ch=s.charAt(k);
        switch (ch) {
            case '0':
                a++;
                break;
            case '1':
                b++;
                break;
            case '2':
                c++;
                break;
            case '3':
                d++;
                break;
            case '4':
                e++;
                break;
            case '5':
                f++;
                break;
            case '6':
                g++;
                break;
            case '7':
                h++;
                break;
            case '8':
                i++;
                break;
            case '9':
                j++;
                break;
            case ' ':
                break OUTER;
            default:
                break;
        }
    }

   System.out.println("0 "+(a-48));
    System.out.println("1 "+(b-48));
     System.out.println("2 "+(c-48));
      System.out.println("3 "+(d-48));
       System.out.println("4 "+(e-48));
        System.out.println("5 "+(f-48));
         System.out.println("6 "+(g-48));
          System.out.println("7 "+(h-48));
           System.out.println("8 "+(i-48));
            System.out.println("9 "+(j-48));


}
}

请任何人解释一下我可以做什么来删除这个程序中的这个额外值。 谢谢

最佳答案

而不是

int a = '0' 

使用

int a = 0

'0' 等于 ASCII 中的 48,它是一个字符,而不是数字。因此,通过 int a = '0',您实际上将 a 初始化为 48

关于java - 统计字符串中所有数字出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42756762/

相关文章:

java - 持久登录 cookie,避免垃圾邮件,并使用 yahoo facebook id

regex - Delphi - 用户指定的字符串操作

PHP 字符串连接(一个来自变量,另一个来自三元运算符)给出意想不到的结果

javascript - 如何区分 blob 和 String?

java - 自动将内联 XSD 从 WSDL 提取到 XSD 文件中

java - 启动 tomcat 错误代码 4 : Failed

javascript - javascript中根据括号分割字符串

linux - 在 C++ 中使用 Unicode (UTF-8)

java - 使用 Gson 将 JSON 解析为 Java 类

java - 如何使用 NetBeans 平台创建单窗口应用程序