用JAVA编程:对某一文本文件中各字符出现次数的统计,将统计结果按规定格式保存到charCount.txt文件中。
例如:文件test.txt中内容如下ababbaccddda1122统计后输出到charCount.txt文件中内容为:a:4b:3c:2d:31:22:2意即,a字符出...
例如:文件test.txt中内容如下
ababbaccddda1122
统计后输出到charCount.txt文件中内容为:
a:4
b:3
c:2
d:3
1:2
2:2
意即,a字符出现4次,b字符3次…… 展开
ababbaccddda1122
统计后输出到charCount.txt文件中内容为:
a:4
b:3
c:2
d:3
1:2
2:2
意即,a字符出现4次,b字符3次…… 展开
3个回答
2018-12-31
展开全部
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.HashMap;
import java.util.Map;
public class test {
public static void main(String[] args){
File inFile = new File("D:/test.txt");
File outFile = new File("D:/charCount.txt");
String s;
Map<Character, Integer> map = new HashMap<Character, Integer>();
try {
FileReader reader = new FileReader(inFile);
BufferedReader in = new BufferedReader(reader);
while ((s = in.readLine()) != null) {
char[] c=s.toCharArray();
for(char cc:c){
if(map.get(cc)!=null){
int sum = map.get(cc);
map.put(cc, ++sum);
}else
map.put(cc, 1);
}
}
in.close();
outFile.createNewFile();
FileWriter writer = new FileWriter(outFile);
BufferedWriter out = new BufferedWriter(writer);
for(Map.Entry<Character, Integer> entry : map.entrySet()){
out.write(entry.getKey()+" "+entry.getValue()+"\r\n");
}
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//纯手打,望采纳
展开全部
1.定义字符读取(缓冲)流
2.循环读取文件里的字符,用一个String类型变量接收(newValue)
3.把newValue变成字符数组 char[] ch = newValue.toCharArray();
4.遍历ch 将ch中所有的字符存入一个Map集合中(TreeSet),键对应字符,值对应字符出现的次数
5.遍历打印map集合中的键和值,也就是字符出现的次数
2.循环读取文件里的字符,用一个String类型变量接收(newValue)
3.把newValue变成字符数组 char[] ch = newValue.toCharArray();
4.遍历ch 将ch中所有的字符存入一个Map集合中(TreeSet),键对应字符,值对应字符出现的次数
5.遍历打印map集合中的键和值,也就是字符出现的次数
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以写的,留一个邮箱写好发给你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询