⽤JAVA实现出输⼊字符串中的出现次数最多的字符及其次
数;
1//通过Map 类实现,通过键值对的⽅式,可以将输⼊的字符串的每⼀个字符,作为键,每个字符出现的次数作为值:如下:
2
3public class Find {
4 public static void main(String[] args){
5 String scan=new Scanner(System.in).nextLine();//获取键盘上输⼊的字符串;
6 Map<Character,Integer> map = new HashMap<Character,Integer>();//新建⼀个HashMap对象;
7//通过FOR循环,把String的键值存放到map
8 for(int i=0;i<scan.length();i++){
9 char temp=scan.charAt(i);//通过循环,到字符串的每⼀位字符并存⼊到temp中;
10 ainsKey(temp)){//如果map⾥⾯有temp这个字符
11 map.put(temp, (temp)+1);//把temp的值加1;
字符串常量中字符过多12 }else{//如果map⾥⾯没有temp这个字符,
13 map.put(temp, 1);//把temp的值设为1;
14 }
15 }
16/*Collection c = Set();
17Iterator it = c.iterator();
18Map.Entry<Character, Integer> entry;
19while(it.hasNext()){
20entry = (Map.Entry<Character, Integer>) it.next();
21}
22*/
23 int maxnum = Collections.max(map.values());//调⽤Collections类的max⽅法,获取map的值的集合;并出最⼤的那个值;
24 Set<Character> set = new HashSet<Character>();//建⽴⼀个set对象
25 for(Map.Entry<Character, Integer> Set()){ //通过集合的循环,把map的值放到entry1⾥,通过entry1到值最⼤的maxnum的key;
26 Value()==maxnum){
27 set.Key());
28 }
29 }
30 System.out.println("出现次数最多的字母为:"+set+" 最多出现次数为"+maxnum);
31
32 }
33
34 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论