java 判断出现的次数_如何判断一个文件的每个文字出现次数

packagecom.hu;importjava.io.BufferedReader;importjava.io.FileReader;importjava.io.IOException;importjava.util.HashMap;importjava.util.Map;importjava.util.Set;/** 读入123.txt文本

* 判断一个文件的每个文字出现次数

*

**/

public classjiexi {public static void main(String[] args) throwsIOException {

//创建StringBUilder用来存放所有字节

StringBuilder sb= newStringBuilder();

//创建输入流

BufferedReader bufferedReader= new BufferedReader(new FileReader("123.txt"));

String lin;while ((lin = bufferedReader.readLine()) != null) {

//添加

sb.append(lin);

}

//关流

bufferedReader.close();

//调用方法jiexi1

HashMap characterIntegerHashMap =jiexi1(sb);

//遍历characterIntegerHashMap集合

Set> keys =characterIntegerHashMap.entrySet();

//创建计数countint count=0;for (Map.Entrykey : keys) {

//输出集合中的内容

System.out.print(key.getKey()+"---"+key.getValue()+" ");

count++;

//换行if (count==10){

System.out.println();

count=0;

}

}

}public static HashMapjiexi1(StringBuilder sb) {

//创建一个以字符为键,以数字为值的map集合

Map map = new HashMap<>();

//遍历传来的sbfor (int i=0;i

//以char格式接收sbchar c =sb.charAt(i);

//判断map集合中的键和当前字符是否存在if ((map.containsKey(c)) != false) {

//遍历map

Set> entries =map.entrySet();for (Map.Entryentry : entries) {

//获取当前键和值

Character key=entry.getKey();

Integer value=entry.getValue();

//创建记录变量int count=value;

//比较当前map的键和当前字符是否相等if(key.equals(c)){

//相等加1

count++;

map.put(c,count);

}

}

//如果不相等给这个字符初始化为出现一次

}else{

map.put(c,1);

}

}

//返回map集合return (HashMap) map;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值