为了账号安全,请及时绑定邮箱和手机立即绑定

java代码咋生成

java代码咋生成

xaioxiao__ 2016-09-11 21:50:49
在一个字符串中只包含有数字和大小写字母,求出该字符串中出现次数最多的数字的和,例如输入字符串“Ae5a2sd35s4eEe62a35e1ao”,输出结果:70
查看完整描述

5 回答

?
ziom

TA贡献948条经验 获得超1109个赞

先采纳我,我才能提起兴致帮你写个工具方法

查看完整回答
1 反对 回复 2016-09-12
?
白绿色

TA贡献3条经验 获得超11个赞

private static void test() {
	String ss = "Ae5a2sd35s4eEe62a35e1ao";
	Pattern p=Pattern.compile("(\\d+)");
	// 使用正则表达式取出所有数字
	Matcher m=p.matcher(ss);
	
	Map<Integer, Integer> cc = new HashMap<Integer, Integer>();
	
	// 统计所有数字的出现次数。数字为key,出现次数为value存入map
	while(m.find()){
		int i = Integer.valueOf(m.group(1));
		if(cc.containsKey(i)) {
			cc.put(i, cc.get(i) + 1);
		}else {
			cc.put(i, 1);
		}
	  }
	
	// 找到map中最大的value,即最大的出现次数,它对应的key则为出现最多的数字
	// 可能不止一个,使用循环找出所有出现最多的数字。如果都只出现1次则全部找出
	int max = Collections.max(cc.values());
	for(Entry<Integer, Integer> entry : cc.entrySet()) {
		if(entry.getValue() == max) {
			System.out.println(entry.getKey() +
					"为出现最多的数,出现次数为" + entry.getValue() +
					". 和为" + entry.getKey() * entry.getValue());
		}
	}
}


查看完整回答
反对 回复 2016-09-12
?
啊丶木木

TA贡献121条经验 获得超119个赞

这玩意.百度去.很多的.

查看完整回答
反对 回复 2016-09-12
?
努力_向上

TA贡献4条经验 获得超2个赞

将字符串用split方法切割,然后转换成数字,进行统计计算。

查看完整回答
反对 回复 2016-09-12
?
摩诃迦叶

TA贡献146条经验 获得超54个赞

咋生成? 自己写啊

查看完整回答
反对 回复 2016-09-12
  • 5 回答
  • 0 关注
  • 1305 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信