A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

取出一个字符串中字母出现的次数。如:字符串:"abcde%^kka27qoq" ,输出格式为: a(2)b(1)k(2)...

8 个回复

倒序浏览
public class Stringnumber {

        public static void main(String[] args) {

                String Str="abcdekkaqoq";
               
                char[]chs=Str.toCharArray();
               
                int a=0;
                int b=0;
                int k=0;
                for(char ch:chs)
                {
                        if(ch=='a')
                        {
                                a++;
                        }else if(ch=='b')
                        {
                                b++;
                        }else if(ch=='k')
                        {
                                k++;
                        }
                }
                System.out.println("a("+a+")"+"b("+b+")"+"k("+k+")");
        }

}
回复 使用道具 举报

public class Stringnumber {

        public static void main(String[] args) {

                String Str="abcdekkaqoq";
               
                char[]chs=Str.toCharArray();
               
                int a=0;
                int b=0;
                int k=0;
                for(char ch:chs)
                {
                        switch(ch)
                        {

                        case 'a':a++;break;
                        case 'b':b++;break;
                        case 'k':k++;break;
                       
                        }
                }
                System.out.println("a("+a+")"+"b("+b+")"+"k("+k+")");
        }

}
回复 使用道具 举报
import java.util.*;
import java.io.*;
public class Ci {

       
        public static void main(String[] args)throws IOException {
                String str="abcde%^kka27qoq";
                char[] arr=str.toCharArray();
               
        HashMap<Character,Integer> hm=new HashMap<Character,Integer>();
        for(Character ch:arr){
                if(!hm.containsKey(ch)){
                        hm.put(ch,!hm.containsKey(ch)?1:hm.get(ch)+1);
                }
        }
        StringBuilder sb=new StringBuilder();
        for (Character key : hm.keySet()) {
                sb.append(key+"("+hm.get(key)+")");
               
        }
        System.out.println(sb);
                        BufferedWriter s=new BufferedWriter(new FileWriter("cishu.txt") );
                        s.write(sb.toString());
                       

                        s.close();
        }
}
回复 使用道具 举报 1 0
大概就是楼上那个思路
回复 使用道具 举报
2楼正解
回复 使用道具 举报
至于为什么用HashMap是因为他会帮我们自动排下序
回复 使用道具 举报
楼上正解
回复 使用道具 举报
不懂。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马