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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© boom_pm2.5 中级黑马   /  2016-11-20 23:51  /  1888 人查看  /  8 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

上干货!

---]----------------------------------------------------------------------------------------------

题文要求:
/*分析以下需求,并用代码实现:
        (1)统计每个单词出现的次数
        (2)有如下字符串"If you want to change your fate I think you must come to the dark horse to learn java"(用空格间隔)
        (3)打印格式:
                to=3
                  think=1
                  you=2*/

----------------------------------------------------------------------------------------------------------------------

代码区:


import java.util.Comparator;
import java.util.TreeMap;


public class HomeWork04 {
        public static void main(String[] args) {
                String str = "If you want to change your fate I think you must come to the dark horse to learn java";
                String[] arr = str.split(" ");
                TreeMap<String, Integer> tm = new TreeMap<>(new Comparator<String>() {

                        @Override
                        public int compare(String o1, String o2) {
                               
                                return o1.length()-o2.length()==0?o1.compareTo(o2):o1.length()-o2.length();
                        }
                       
                });
                for (String string : arr) {
                        if (!tm.containsKey(string)) {
                                tm.put(string, 1);
                        } else {
                                tm.put(string, tm.get(string)+1);
                        }
                }
               
                for (String string : tm.keySet()) {
                        System.out.print(string+"="+tm.get(string)+" ");
                }
               
        }
}
-----------------------------------------------------------------------------------------------------------------------------
总结下:

这道题  就想统计 字符出现的次数一样,
只不过是将  正则的 法则  稍微变了一下,
那个是存 字符,
这个是存 字符串.原理都是一样的
都用到了  比较器.

8 个回复

倒序浏览
回复 使用道具 举报
统计思想,首先要用到计数,给一个初始值,int count =0
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
这题学完字符串常用方法就能做的吧,还要用集合?
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
同学,可以啊,不过建议自己写一个统计,就是不用集合框架
回复 使用道具 举报
文明密码 发表于 2016-11-21 09:50
这题学完字符串常用方法就能做的吧,还要用集合?

万一你要用键盘输入呢, 你知道我要输入的个数吗?
这个可以 自动加长...
回复 使用道具 举报
不错不错,赞一个
回复 使用道具 举报
思路很好特别啊,干货
回复 使用道具 举报
boom_pm2.5 发表于 2016-11-21 22:39
万一你要用键盘输入呢, 你知道我要输入的个数吗?
这个可以 自动加长...

不管你输入多少个,用字符串知识就能解决!根本用不着集合,当然,你这个用集合的思路也很特别,只能说杀鸡焉用牛刀!


来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马