初学java,求指教.题目:用(HashMap)从输入框输入一个字符串,要求统计每一个字符出现的频率,并按照字母排 序之后输出.频率=字符出现的次数/字符总数。

不倒翁翁 2013-08-24 10:36:00
如题 求指教 不会啊 不会啊
...全文
912 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
不倒翁翁 2013-08-24
  • 打赏
  • 举报
回复
@fortheother 不对呀 ,亲 不过 你把 字符串 拆开了 我再试试啊
harrisonkao 2013-08-24
  • 打赏
  • 举报
回复
去年在校园招聘时写的笔试题。。。。。。
2013-08-24
  • 打赏
  • 举报
回复
package cn.dzr.collection;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class GetCharN
{
	public static void main(String[] args) throws IOException
	{
		BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
		String str=bufr.readLine();
		/*(HashMap)从输入框输入一个字符串,要求统计每一个字符出现的频率,
		 * 并按照字母排 序之后输出.频率=字符出现的次数/字符总数*/
		
		HashMap<Character,Integer> map = new HashMap<Character,Integer>();
		int len = str.length();
		
		for(int i = 0;i<len; i++)
		{
			Character c = str.charAt(i);
			
			if(map.containsKey(c))
			{
				map.put(c, 1+map.get(c));
			}
			else
			{
				map.put(c, 1);
			}
		}
		
		for(Map.Entry<Character,Integer> entry:map.entrySet())
		{
			char c = entry.getKey();
			int i = entry.getValue();
			System.out.println(c+": "+(double)i/len);
		}
	}
		
}
不知道“按字母排序” 应该如何处理。
不倒翁翁 2013-08-24
  • 打赏
  • 举报
回复
我不知道 怎么把 字符 一个一个 取出来
末日哥 2013-08-24
  • 打赏
  • 举报
回复
是哪不会呢?
2013-08-24
  • 打赏
  • 举报
回复
引用 5 楼 yx5822497 的回复:
@fortheother 不对呀 ,亲 不过 你把 字符串 拆开了 我再试试啊
有什么问题呢???

51,410

社区成员

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

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