思路:把字符串放入map集合内
如果map的key中没有当前字符,就把这个字符放入map集合key为当前字符串的值,key的值为1
如果map的key中有当前字符,key值+1,最后输出键值对
package countLetter;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class CountLetter{
Map map=new HashMap();
//此方法让用户输入
public String write() {
Scanner input=new Scanner(System.in);
System.out.print("请输入:");
return input.nextLine();
}
//统计字符串个数的方法
public void keyValue(String str) {
//按照顺序把str存入map集合里,关键字是字符串的值,初值都为1
for(int i=0;i<str.length();i++) {
//创建一个布尔变量判断map集合是否第一次出现,如果第一次出现,则返回true
boolean flag=map.containsKey(str.substring(i, i+1));
//如果找的到这个关键字,就让它的值+1
if(flag==true) {
map.put(str.substring(i, i+1), (int)(map.get(str.substring(i, i+1)))+1);
}else {
//如果没有找到,则在这个关键字的值放入1
map.put(str.substring(i, i+1), 1);
}
}//for
//输出集合的键值对
for(Object key:map.keySet()) {
int value=(int)map.get(key);
System.out.println("字符串“"+key+"”的个数是:"+value);
}
}//keyValue
}//CountLetter
package countLetter;
public class Test {
public static void main(String[] args) {
CountLetter cl=new CountLetter();
cl.keyValue(cl.write());
}
}