public class Test9 {
// 1.在项目根目录下创建2个文件和result.txt,data.txt文件中包含数据:
// asdwsxedcrfvqazf
// 2.要求:编写程序读取data.txt中数据每一个字符出现的次数,统计结果格式为 字符:次数,并以”,”连接,
// 如:a:5,b:4,c:3,d:2并将统计结果存放在文件result.txt中
// 要求:最后一个数字后不能有逗号;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
String s = br.readLine();
br.close();
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
char[] ch = s.toCharArray();
for (char c : ch) {
if (map.get(c) != null) {
Integer i = map.get(c);
i++;
map.put(c, i);
} else {
map.put(c, 1);
}
}
Set<Character> keySet = map.keySet();
char[] ch2 = new char[keySet.size()];
int number = 0;
for (Character character : keySet) {
ch2[number] = character;
number++;
}
Arrays.sort(ch2);
StringBuffer sb = new StringBuffer();
for (char c : ch2) {
sb.append(c + ":" + map.get(c) + ",");
}
String sum = sb.toString();
String sum2 = sum.substring(0, sum.length() - 1);
BufferedWriter bw = new BufferedWriter(new FileWriter("result.txt"));
bw.write(sum2);
bw.close();
} |
|