一道Java测试题,求指教 20
8、把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如:a:21次b:15次c::15次把:7次当:9次前:3次,:30次注意是当前,希望...
8、 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如:
a: 21 次
b: 15 次
c:: 15 次
把: 7 次
当: 9 次
前: 3 次
,:30 次
注意是当前,希望有高手能给个完整代码加注释,没多少分, 异常感谢!! 展开
a: 21 次
b: 15 次
c:: 15 次
把: 7 次
当: 9 次
前: 3 次
,:30 次
注意是当前,希望有高手能给个完整代码加注释,没多少分, 异常感谢!! 展开
2个回答
展开全部
这东西逻辑复杂么?
不要拿来主义
自己动手做做没坏处
首先是IO流读取所有文件内容
然后取第一个字符存入一个Arraylist 对应次数变成1(可以放入一个int[]数组中 或者另外一个ArrayList中)
然后取第二个 判断ArrayList里面是否有此字符
如果有 对应的次数加1
如果没有 则把字符加入ArrayList中 对应次数变成1
依次循环 知道文件结束
最后遍历打印就行了
不要拿来主义
自己动手做做没坏处
首先是IO流读取所有文件内容
然后取第一个字符存入一个Arraylist 对应次数变成1(可以放入一个int[]数组中 或者另外一个ArrayList中)
然后取第二个 判断ArrayList里面是否有此字符
如果有 对应的次数加1
如果没有 则把字符加入ArrayList中 对应次数变成1
依次循环 知道文件结束
最后遍历打印就行了
追问
逻辑我懂,但要求是当前文件,比如说我正在写的test.java这个文件。这个怎么存?
追答
那需要user32api 单独java办不到
展开全部
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class $ {
public static void main(String[] args) throws IOException {
// 字符串
String str = "abcdefg,hiabcded";
// 写入文件
FileWriter fw = new FileWriter(new File("d:/a.txt"));
int len = 0;
while (str.length() > 0) {
len = str.length();
// 获取第一个字符
String s = str.substring(0, 1);
// 用空格替换,以便计算这个字符的个数
str = str.replaceAll(s, "");
// 写入文件,加\r\n换行
fw.write(s + ":" + (len - str.length()) + "\r\n");
}
fw.flush();
fw.close();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询