java查找字符串出现的次数_用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;...

通过Map 类实现,通过键值对的方式,可以将输入的字符串的每一个字符,作为键,每个字符出现的次数作为值:如下:

public class Find {

public static void main(String[] args){

String scan=new Scanner(System.in).nextLine();//获取键盘上输入的字符串;

Map map = new HashMap();//新建一个HashMap对象;

//通过FOR循环,把String的键值存放到map

for(int i=0;i

char temp=scan.charAt(i);//通过循环,找到字符串的每一位字符并存入到temp中;

if(map.containsKey(temp)){//如果map里面有temp这个字符

map.put(temp, map.get(temp)+1);//把temp的值加1;

}else{//如果map里面没有temp这个字符,

map.put(temp, 1);//把temp的值设为1;

}

}

/*Collection c = map.entrySet();

Iterator it = c.iterator();

Map.Entry entry;

while(it.hasNext()){

entry = (Map.Entry) it.next();

}

*/

int maxnum = Collections.max(map.values());//调用Collections类的max方法,获取map的值的集合;并找出最大的那个值;

Set set = new HashSet();//建立一个set对象

for(Map.Entry entry1:map.entrySet()){ //通过集合的循环,把map的值放到entry1里,通过entry1找到值最大的maxnum的key;

if(entry1.getValue()==maxnum){

set.add(entry1.getKey());

}

}

System.out.println("出现次数最多的字母为:"+set+" 最多出现次数为"+maxnum);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值