Java计算字母数量

时间:2016-02-26 09:03:50

标签: java algorithm count alphabet

在制作关于计算每个字母数量的程序时(例如输入-abc / output- a:1,b:1,c:1,d:0,...,z:0)我遇到了问题。我不知道为什么if条款不起作用...... 这是我的代码。

import java.util.Scanner;


public class Prac05 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.nextLine();
        String[] b = a.split("");


        if (a.length() <= 100) {
            for (int i = 0; i < b.length; i++) {
                for (int j = 'a'; j <= 'z'; j++) {
                    if(b[i].equals((char) j)) {
                        System.out.println("1");
                    }
                }
            }
        }
    }

}

我应该打印“1”,但是因为if-clauses不正确,所以没有输出......

1 个答案:

答案 0 :(得分:2)

您正在将String对象与Character对象进行比较,这些对象因其类型不同而彼此不相等。

一个简单的解决方案,也可以使代码更高效,更优雅,使用String.charAt(),而不是将原始字符串拆分为许多小String个对象,并从{{迭代对于字符串中的每个字符,1}}到0