您的位置:首页 >生活 >

阿萨德阿萨德阿萨德阿萨德阿萨德(asdasda)

大家好,我是小新,我来为大家解答以上问题。阿萨德阿萨德阿萨德阿萨德阿萨德,asdasda很多人还不知道,现在让我们一起来看看吧!

1、import java.util.Scanner;

2、import java.util.Set;

3、import java.util.TreeMap;

4、/*

5、* 需求 :"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)

6、*

7、* 分析:

8、* A:定义一个字符串(可以改进为键盘录入)

9、* B:定义一个TreeMap集合

10、* 键:Character

11、* 值:Integer

12、* C:把字符串转换为字符数组

13、* D:遍历字符数组,得到每一个字符

14、* E:拿刚才得到的字符作为键到集合中去找值,看返回值

15、* 是null:说明该键不存在,就把该字符作为键,1作为值存储

16、* 不是null:说明该键存在,就把值加1,然后重写存储该键和值

17、* F:定义字符串缓冲区变量

18、* G:遍历集合,得到键和值,进行按照要求拼接

19、* H:把字符串缓冲区转换为字符串输出

20、*

21、* 录入:linqingxia

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

23、*/

24、public class TreeMapDemo {

25、public static void main(String[] args) {

26、// 定义一个字符串(可以改进为键盘录入)

27、Scanner sc = new Scanner(System.in);

28、System.out.println("请输入一个字符串:");

29、String line = sc.nextLine();

30、// 定义一个TreeMap集合

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

32、//把字符串转换为字符数组

33、char[] chs = line.toCharArray();

34、//遍历字符数组,得到每一个字符

35、for(char ch : chs){

36、//拿刚才得到的字符作为键到集合中去找值,看返回值

37、Integer i = tm.get(ch);

38、//是null:说明该键不存在,就把该字符作为键,1作为值存储

39、if(i == null){

40、tm.put(ch, 1);

41、}else {

42、//不是null:说明该键存在,就把值加1,然后重写存储该键和值

43、i++;

44、tm.put(ch,i);

45、}

46、}

47、//定义字符串缓冲区变量

48、StringBuilder sb= new StringBuilder();

49、//遍历集合,得到键和值,进行按照要求拼接

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

51、for(Character key : set){

52、Integer value = tm.get(key);

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

54、}

55、//把字符串缓冲区转换为字符串输出

56、String result = sb.toString();

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

58、}

59、}

60、/***不懂里面的的一些方法的可以找本书看看Map集合方面的,还有学会查API,否则你一辈子都读不懂JAVA程序的,其实我这个不用分析的话应该是这个问题的最简解了吧。。。。***/

本文到此讲解完毕了,希望对大家有帮助。

免责声明:本文由用户上传,如有侵权请联系删除!