A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© longyun 中级黑马   /  2016-6-15 15:15  /  773 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

使用键盘录入一个字符串,获取字符串中每一个字符出现的次数,要求统计结果格式为:字符(次数)并以”,”连接,如:a(5),b(4),c(3),d(2)
* ,e(1) 将统计结果在控制台打印并将统计结果保存到项目根目录下的result.txt文件中

2 个回复

倒序浏览
  1. package com.heima.test;

  2. import java.util.HashSet;
  3. import java.util.Iterator;
  4. import java.util.Scanner;
  5. import java.util.Set;

  6. /**
  7. *
  8. * @author Venus
  9. *
  10. */
  11. public class Test6 {
  12.         public static void main(String[] args) {
  13.                 // 键盘一个字符串
  14.                 System.out.println("请输入一个字符串:");
  15.                 String str = new Scanner(System.in).nextLine().trim();
  16.                 method(str);
  17.         }
  18.         static void method(String str) {
  19.                 // 定义set集合,
  20.                 Set<String> set = new HashSet<String>();
  21.                 // 遍历字符串,添加到set集合
  22.                 for (int i = 0; i < str.length(); i++) {
  23.                         // 取得每个字符
  24.                         String temp = str.charAt(i) + "";
  25.                         // 把每个字符添加到set集合
  26.                         set.add(temp);
  27.                 }
  28.                 // 遍历set集合,去比较计数字符串里面的每个char
  29.                 Iterator<String> it = set.iterator();
  30.                 while (it.hasNext()) {
  31.                         String temp = it.next();
  32.                         int count = 0;
  33.                         for (int i = 0; i < str.length(); i++) {
  34.                                 String strtemp = str.charAt(i) + "";
  35.                                 if (temp.equals(strtemp)) {
  36.                                         count++;
  37.                                 }
  38.                         }
  39.                         System.out.print(temp + "(" + count + ")");
  40.                 }
  41.         }
  42. }
复制代码
回复 使用道具 举报
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);                //创建键盘录入对象
                System.out.println("请输入一个字符串:");
                String str = sc.nextLine();                                        //录入字符串
                char[] ch = str.toCharArray();                                //将字符串转换成数组
                TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();                //创建tm集合
               
                for (Character c : ch) {                                        //遍历char数组,
                        //应用三元添加
                        tm.put(c,!tm.containsKey(c)? 1 :tm.get(c)+1);                //如果tm集合的键中不包含字符c,则将字符c作为键添加,值为1,如果存在,则把与字符c相对应的值加1
                }
                for (Character c : tm.keySet()) {                        //变量tm集合
                        System.out.print(c +"(" +tm.get(c) +")");
                }
        }
       
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马