给定一个字符串“today is a special day”,长度任意,要求找出其出现次数最多的字符及计算次数。老师说让自己看帮助文档,charactor,表示看不懂
7条回答
- 开发小菜鸟 2016-05-13 02:27关注
思路:
1、将当前的字符串转换为字符数组;
2、创建一个HashMap,key为每一个字符,value为字符出现的字数;
3、遍历当前的数组,将数组中每一个不重复的字符作为HashMap对象中的key,判断当前的HashMap对象中是否存在当前的key
1)若存在,取出对应的value,将value值加1后,再保存到对应的key上;
2)若不存在,则将当前的key值对应的value赋值为1;
4、遍历统计结束的HashMap对象,取出所有key中value最大的对象即可;代码如下:
public static void main(String[] args) {
String string = "Thinking in Java";
char[] ch = string.toCharArray();
Map result = new HashMap();
for (int i = 0; i < ch.length; i++) {
if (result.containsKey(ch[i])) {
int count = result.get(ch[i]) + 1;
result.put(ch[i], count);
} else {
result.put(ch[i], 1);
}
}
Character maxChar = null;
Integer maxCount = 0;
for (Entry entry : result.entrySet()) {
if (entry.getValue() > maxCount) {
maxChar = entry.getKey();
maxCount = entry.getValue();
}
}System.out.println("字符: " + maxChar + " 出现的字数最多,为 " + maxCount + " 次"); }
希望对你有帮助!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 求解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥15 maple软件,用solve求反函数出现rootof,怎么办?
- ¥65 汇编语言除法溢出问题
- ¥15 Visual Studio问题
- ¥20 求一个html代码,有偿
- ¥100 关于使用MATLAB中copularnd函数的问题
- ¥20 在虚拟机的pycharm上
- ¥15 jupyterthemes 设置完毕后没有效果