java的一个编程题

Guo 2011-08-16 08:42:00
例如:String test = "abcdeee"; 编程算出最多的那个字母,出现了多少次
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
luohuijun619 2011-08-16
  • 打赏
  • 举报
回复
这个简单

int a=test.length-test.replaceAll("a","").length;

a最大的就是那个字母出现的次数最多
freewind 2011-08-16
  • 打赏
  • 举报
回复
答案是 4

&是按位与的意思。



计算的时候需要转换位二进制补码形式

5的补码是:101 4的补码是 100

101&100是这样计算的: 先看&左右两边的百位(其实不是百位,这样说只是便于你理解) 是1&1 类似于真交真 结果是真 即1&1 结果是1 ,再看十位 0&0 ,假交假,结果是0 。再看个位: 1&0 即真交假,结果是假,即0。 因此最后的结果是100.转换为十进制是4

[Quote=引用 4 楼 guobing965816 的回复:]

顺便 问下 &这个意思是什么 5&4 什么意思结果多少
[/Quote]
softroad 2011-08-16
  • 打赏
  • 举报
回复
与计算么,把5和4转化成2进制作与计算。
Guo 2011-08-16
  • 打赏
  • 举报
回复
顺便 问下 &这个意思是什么 5&4 什么意思结果多少
剑神一笑 2011-08-16
  • 打赏
  • 举报
回复
用map很容易的
字母为key 次数为value
手打的 有错误自己改改
出现最多的字母自己比较吧

char[] ch = test.toCharArray();
Map<character,Integer> map = new HashMap<character,Integer>();
for(char c : ch){
if(map.constainKey(c)){
map.put(c,map.get(c)+1);
}else{
map.put(c,1);
}
}
system.out.println(map);
HeiBoyYang 2011-08-16
  • 打赏
  • 举报
回复
1。先获取length
2.for循环
3.输出打印次数
softroad 2011-08-16
  • 打赏
  • 举报
回复
String.charAt(i)
List存放每个字符,最后输出list长度

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧