用HashMap
key: 出现的字符
value: 字符出现的次数
就是效率有点低

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * 计算某字符出现次数
 */
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        String c = in.nextLine();
        System.out.println(count(s, c));
    }

    public static int count(String s,String c){
        Map<Character,Integer> cMap = new HashMap<Character,Integer>();
        char[] cs = s.trim().toLowerCase().toCharArray();
        char cc = c.trim().toLowerCase().charAt(0);
        for (char c1 : cs) {
            if(cMap.containsKey(c1)){
                cMap.put(c1,(Integer)cMap.get(c1)+1);
            }else {
                cMap.put(c1,1);
            }
        }
        return cMap.get(cc)==null?0:cMap.get(cc);
    }
}