當前位置:編程學習大全網 - 熱門推薦 - 用java編寫壹個函數,統計壹個字符串中每個字母出現的次數,謝謝啦

用java編寫壹個函數,統計壹個字符串中每個字母出現的次數,謝謝啦

import java.util.Scanner;

import java.util.Set;

import java.util.TreeMap;

/*

* 需求 :"aababcabcdabcde",獲取字符串中每壹個字母出現的次數要求結果:a(5)b(4)c(3)d(2)e(1)

*

* 分析:

* A:定義壹個字符串(可以改進為鍵盤錄入)

* B:定義壹個TreeMap集合

* 鍵:Character

* 值:Integer

* C:把字符串轉換為字符數組

* D:遍歷字符數組,得到每壹個字符

* E:拿剛才得到的字符作為鍵到集合中去找值,看返回值

* 是null:說明該鍵不存在,就把該字符作為鍵,1作為值存儲

* 不是null:說明該鍵存在,就把值加1,然後重寫存儲該鍵和值

* F:定義字符串緩沖區變量

* G:遍歷集合,得到鍵和值,進行按照要求拼接

* H:把字符串緩沖區轉換為字符串輸出

*

* 錄入:linqingxia

* 結果:result:a(1)g(1)i(3)l(1)n(2)q(1)x(1)

*/

public class TreeMapDemo {

public static void main(String[] args) {

// 定義壹個字符串(可以改進為鍵盤錄入)

Scanner sc = new Scanner(System.in);

System.out.println("請輸入壹個字符串:");

String line = sc.nextLine();

// 定義壹個TreeMap集合

TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();

//把字符串轉換為字符數組

char[] chs = line.toCharArray();

//遍歷字符數組,得到每壹個字符

for(char ch : chs){

//拿剛才得到的字符作為鍵到集合中去找值,看返回值

Integer i = tm.get(ch);

//是null:說明該鍵不存在,就把該字符作為鍵,1作為值存儲

if(i == null){

tm.put(ch, 1);

}else {

//不是null:說明該鍵存在,就把值加1,然後重寫存儲該鍵和值

i++;

tm.put(ch,i);

}

}

//定義字符串緩沖區變量

StringBuilder sb= new StringBuilder();

//遍歷集合,得到鍵和值,進行按照要求拼接

Set<Character> set = tm.keySet();

for(Character key : set){

Integer value = tm.get(key);

sb.append(key).append("(").append(value).append(")");

}

//把字符串緩沖區轉換為字符串輸出

String result = sb.toString();

System.out.println("result:"+result);

}

}

/***不懂裏面的的壹些方法的可以找本書看看Map集合方面的,還有學會查API,否則妳壹輩子都讀不懂JAVA程序的,其實我這個不用分析的話應該是這個問題的最簡解了吧。。。。***/

  • 上一篇:學雷鋒的歌歌詞
  • 下一篇:情侶頭像萌娃壹對兩張,萌娃吃冰淇淋的情侶頭
  • copyright 2024編程學習大全網