回答2.把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如:
a: 21 次
b: 15 次
c:: 15 次
把: 7 次
当: 9 次
前: 3 次
,:30 次
你对照着下面的代码,只需要改变一点东西就可以了,把文件中的内容全部读取出来存入str 。然后再在输出的地方修改一下就OK了
/**
* 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
* @author zab
*/
public class Test1 {
public static void main(String[] args) {
//提示用户
System.out.println("请您输入一串字符串:");
//获取用户从键盘输入的一行字符串,并保存到字符变量中
String str = new Scanner(System.in).nextLine();
//输出用户输入的字符串
System.out.println("您输入的字符为:" + str);
//把字符串变成字符数组
char[] strArray = str.toCharArray();
//定义一个HashMap对象其中键是字符,值为字符的个数
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
//定义一个整形的变量,用于获取当前字符在字符串中的个数,便于累加
int num = 0;
//遍历字符数组
for (int i = 0; i < strArray.length; i++) {
//判断该字符是否在HashMap中存在。如果map.get(strArray[i])返回null则是不存在,如果返回的不是null则就是它的Value值(Integer)
if(map.get(strArray[i]) != null)//存在
{
//把value值获取到然后存入num变量中
num = map.get(strArray[i]);
//然后num(即value)加1,再把该字符和该字符出现的个数存入HashMap中
map.put(strArray[i], num + 1);
}
//该字符不存在在HashMap中
else if (map.get(strArray[i]) == null) {
//把该字符添加到HashMap中,字符个数为1
map.put(strArray[i] , 1);
}
}
System.out.print("统计后的结果为:");
//遍历Hash中的key(即字符)
for (Character c : map.keySet()) {
//输出统计的结果
System.out.print(c + "(" + map.get(c) + ")");
}
}
} |