建议使用Map集合来存储每个字符出现的次数信息,以下是我改写的你的Testseven类,希望对你有帮助
- class Testseven
- {
- public void testseven(String str)
- {
- //创建一个存放字符->次数的Map集合
- HashMap<Character,Integer> map = new HashMap<Character,Integer>();
-
- int l = str.length();
- //循环取出字符串中的一个字符
- while(--l>=0)
- {
- char ch = str.charAt(l);
- //当本次循环取出的字符在Map中存在时,在原来次数基础上加一
- if(map.containsKey(ch))
- {
- int num = map.get(ch);
- map.put(ch,++num);
- //不存在时,就把字符当键,1为值存入Map中
- }else{
- map.put(ch,1);
- }
- }
- //通过Map的entrySet方法获取键值关系,后迭代出Map中的数据
- Set<Map.Entry<Character,Integer>> entryset = map.entrySet();
- Iterator<Map.Entry<Character,Integer>> it = entryset.iterator();
- while(it.hasNext())
- {
- Map.Entry<Character,Integer> mapentry = it.next();
- System.out.println(mapentry.getKey()+":"+mapentry.getValue());
- }
- }
- }
复制代码
|