思路:把字符串放入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());
}
}