1. 程式人生 > >分別統計字串中各個字元的出現的個數

分別統計字串中各個字元的出現的個數

一、分別統計字串中出現的所有字元的個數

例項程式碼:

/**
	 * 統計字串中出現的所有字元的個數;
	 */
	public static void classAllCount(){
		String str="6hj$#%&*()IGR哈哈哈GjI6hj$#%&@&**()^[email protected]@$#^&)(^&$6hj$#%&([email protected]@IIjh6h哈j$#%&456465";
		Map<Character, Integer> map=new HashMap<>();
		for(int i=0;i<str.length();i++){
			Character a=str.charAt(i);
			Integer count=map.get(a);
			if(count==null){
				count=1;
				map.put(a, count);
			}
			else{
				count+=1;
				map.put(a, count);
			}			
		}
		System.out.println("1. "+map.toString());
	}

二、分別統計字串中的字母、漢字、數字個數

例項程式碼:

    /**
	 * 分別統計字串中的字母、漢字、數字各有多少個;
	 */
	public static void classiFiedCount(){
		String str2="福建省HFSD4655DSAJKD的介面返回dfh465sjfh到資料庫";
		int en=0;
		int ch=0;
		int num=0;
		for(int i=0;i<str2.length();i++){
			char b=str2.charAt(i);
			if((b>='A'&&b<='Z')||(b>='a'&&b<='z')){
				en+=1;
			}else if(b>='0'&&b<='9'){
				num+=1;
			}else{
				ch+=1;
			}
		}
		System.out.println("2. 字母:"+en+"\t漢字:"+ch+"\t數字:"+num);
	}

三、測試(main方法)

public static void main(String[] args) {
		classAllCount();
		classiFiedCount();
	}

四、列印結果

1. {@=5, #=5, $=7, %=4, &=7, G=3, h=5, (=4, 哈=4, )=3, I=4, j=7, *=3, R=2, 4=2, 5=2, 6=6, ^=3}
2. 字母:17	漢字:12	數字:7