根据某三国游戏提供的武将资料,完成需求:

// 1.武力值排名前三的值是多少
// 2.求武力值最高3人名字
// 3.统计各个地区的武将
// 4.统计各个年龄段的武将 比如:10~19岁,20~29岁,30~39岁 40~49岁 50~59岁 60岁以上
// 5.统计各个年龄段的武将男女比例
// 6.统计平均年龄
// 7.统计平均年龄最高的地区

代码:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
import java.util.function.Consumer;public class Test6 {public static void main(String[] args) throws IOException {BufferedReader reader = new BufferedReader(new FileReader("sanguo.txt"));TreeSet<String> set = new TreeSet<>();//TreeMap<Integer, WuJiang> wjmap = new TreeMap<>();ArrayList<WuJiang> wjlist = new ArrayList<>();String wujiang = null;//将武将添加进集合while ((wujiang = reader.readLine()) != null) {set.add(wujiang);}for (String s : set) {String regx = "\\s+";String[] split = s.split(regx);//System.out.println(split.length);//if (split.length == 7) {WuJiang wu = new WuJiang();Integer of = Integer.valueOf(split[0]);wu.setName(split[1]);wu.setHometown(split[2]);wu.setSex(split[3]);wu.setStart(Integer.valueOf(split[4]));wu.setEnd(Integer.valueOf(split[5]));wu.setForceValue(Integer.valueOf(split[6]));wjlist.add(wu);}//1.求武力值排行前三的人和武力值。TreeMap<Integer, String> qiansan = new TreeMap<>(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o2 - o1;}});wjlist.forEach(new Consumer<WuJiang>() {@Overridepublic void accept(WuJiang wuJiang) {qiansan.put(wuJiang.getForceValue(), wuJiang.getName());}});System.out.println("武将战力前三: ");Set<Map.Entry<Integer, String>> entries = qiansan.entrySet();int c = 0;for (Map.Entry<Integer, String> entry : entries) {System.out.println(entry.getKey() + " " + entry.getValue());c++;if (c == 3) {break;}}// 3.统计各个地区的武将TreeMap<String, Integer> map = new TreeMap<>();for (WuJiang jj : wjlist) {if (!map.containsKey(jj.getHometown())) {map.put(jj.getHometown(), 1);} else {int m = map.get(jj.getHometown());map.put(jj.getHometown(), m+1);}}System.out.println("各地区武将数目:");Set<Map.Entry<String, Integer>> ss = map.entrySet();for (Map.Entry<String, Integer> s : ss) {System.out.print(s.getKey() + " " + s.getValue()+"\t");}System.out.println();// 7.统计平均年龄最高的地区TreeMap<String, Integer> treeMap = new TreeMap<>();for (WuJiang wuJiang : wjlist) {String hometown = wuJiang.getHometown();int age =wuJiang.getEnd()-wuJiang.getStart();if (!treeMap.containsKey(hometown)){treeMap.put(hometown,age);}else {Integer age2 = treeMap.get(hometown);treeMap.put(hometown,age+age2);}}TreeMap< Integer,String> treeMap1 = new TreeMap<>(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o2-o1;}});Set<Map.Entry<String, Integer>> set1 = treeMap.entrySet();for (Map.Entry<String, Integer> entry : set1) {int n=entry.getValue()/map.get(entry.getKey());treeMap1.put(n,entry.getKey());System.out.println("武将平均年龄最大的地区是: "+entry.getKey()+" 平均年龄: "+n+"岁");break;}//6.统计平均年龄int age3=0;for (WuJiang wuJiang : wjlist) {age3+=(wuJiang.getEnd()-wuJiang.getStart());}System.out.println("武将平均年龄: "+age3/wjlist.size());// 4.统计各个年龄段的武将 比如:10~19岁,20~29岁,30~39岁 40~49岁 50~59岁 60岁以上// 5.统计各个年龄段的武将男女比TreeMap<String, Integer> treeMap2 = new TreeMap<>();TreeMap<String, Integer> treeMap3 = new TreeMap<>();TreeMap<String, Integer> treeMap4 = new TreeMap<>();TreeMap<String, Integer> treeMap5 = new TreeMap<>();TreeMap<String, Integer> treeMap6 = new TreeMap<>();TreeMap<String, Integer> treeMap7 = new TreeMap<>();int a=0, a1=0,b=0,b1=0,c=0,c1=0,d=0,d1=0,e=0,e1=0,f=0,f1=0;for (WuJiang wuJiang : wjlist) {if (wuJiang.getEnd()-wuJiang.getStart()>=10&&wuJiang.getEnd()-wuJiang.getStart()<20){treeMap2.put(wuJiang.getName(),wuJiang.getEnd()-wuJiang.getStart());if (wuJiang.getSex().equals("男")){a++;}else {a1++;}}else if (wuJiang.getEnd()-wuJiang.getStart()>=20&&wuJiang.getEnd()-wuJiang.getStart()<30) {treeMap3.put(wuJiang.getName(),wuJiang.getEnd()-wuJiang.getStart());if (wuJiang.getSex().equals("男")){b++;}else {b1++;}}else if (wuJiang.getEnd()-wuJiang.getStart()>=30&&wuJiang.getEnd()-wuJiang.getStart()<40) {treeMap4.put(wuJiang.getName(),wuJiang.getEnd()-wuJiang.getStart());if (wuJiang.getSex().equals("男")){c++;}else {c1++;}}else if (wuJiang.getEnd()-wuJiang.getStart()>=40&&wuJiang.getEnd()-wuJiang.getStart()<50) {treeMap5.put(wuJiang.getName(),wuJiang.getEnd()-wuJiang.getStart());if (wuJiang.getSex().equals("男")){d++;}else {d1++;}}else if (wuJiang.getEnd()-wuJiang.getStart()>=50&&wuJiang.getEnd()-wuJiang.getStart()<60) {treeMap6.put(wuJiang.getName(),wuJiang.getEnd()-wuJiang.getStart());if (wuJiang.getSex().equals("男")){e++;}else {e1++;}}else if (wuJiang.getEnd()-wuJiang.getStart()>=60) {treeMap7.put(wuJiang.getName(),wuJiang.getEnd()-wuJiang.getStart());if (wuJiang.getSex().equals("男")){f++;}else {f1++;}}}System.out.println("武将年龄在10-19岁的有:"+treeMap2.size()+"人;"+"男女比例为"+a+"/"+a1);System.out.println("武将年龄在20-29岁的有:"+treeMap3.size()+"人;"+"男女比例为"+b+"/"+b1);System.out.println("武将年龄在30-39岁的有:"+treeMap4.size()+"人;"+"男女比例为"+c+"/"+c1);System.out.println("武将年龄在40-49岁的有:"+treeMap5.size()+"人;"+"男女比例为"+d+"/"+d1);System.out.println("武将年龄在50-59岁的有:"+treeMap6.size()+"人;"+"男女比例为"+e+"/"+e1);System.out.println("武将年龄在60岁以上的有:"+treeMap7.size()+"人;"+"男女比例为"+f+"/"+f1);}
}class WuJiang {//private int xuhao;private String name;private String hometown;private String sex;private int start;private int end;private int forceValue;public WuJiang() {}public WuJiang(String name, String hometown, int start, int end, int forceValue) {this.name = name;this.hometown = hometown;this.start = start;this.end = end;this.forceValue = forceValue;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getHometown() {return hometown;}public void setHometown(String hometown) {this.hometown = hometown;}public int getStart() {return start;}public void setStart(int start) {this.start = start;}public int getEnd() {return end;}public void setEnd(int end) {this.end = end;}public int getForceValue() {return forceValue;}public void setForceValue(int forceValue) {this.forceValue = forceValue;}
}

结果:

武将战力前三:
100 吕布
98 张飞
97 关羽
各地区武将数目:
上庸 2    下邳 16   云南 17   会稽 8    北平 15   北海 5    南皮 13   吴 10    天水 17   宛 14    寿春 5    小沛 6    平原 5    庐江 13   建业 21   成都 21   新野 4    无 5 晋阳 15   柴桑 11   桂阳 6    梓潼 10   武陵 7    汉中 7    汝南 8    江夏 10   江州 12   江陵 17   洛阳 30   濮阳 20   蓟 4 襄平 7    襄阳 16   西凉 4    许昌 19   邺 22    长安 13   长沙 6    陈留 26   零陵 7
武将平均年龄最大的地区是: 上庸 平均年龄: 64岁
武将平均年龄: 50
武将年龄在10-19岁的有:2人;男女比例为2/0
武将年龄在20-29岁的有:11人;男女比例为9/2
武将年龄在30-39岁的有:104人;男女比例为95/9
武将年龄在40-49岁的有:136人;男女比例为129/7
武将年龄在50-59岁的有:97人;男女比例为89/8
武将年龄在60岁以上的有:124人;男女比例为119/5Process finished with exit code 0

根据某三国游戏提供的武将资料,完成需求:相关推荐

  1. [NOIP2010 普及组] 三国游戏 题解

    一只蒟蒻,第一次写题解,有错误还望指正! [NOIP2010 普及组] 三国游戏 题目https://www.luogu.com.cn/problem/P1199 题意理解 废话不多说,我们先看题目. ...

  2. java手机一款三国游戏_JAVA热游—富甲三国之雄霸天下原创心得

    因为工作忙碌的关系,很长时间都没有来关注手机游戏论坛,这款富甲三国.雄霸天下,我也是前天才拿到手.游戏比想象中的简单,个人仅用了两个小时时间,就将三个人物全部通关. 游戏的开始画面制作得比较精美,而且 ...

  3. 三国志11武将资料整理版

    虽然不是美术方面的,不过和素材压点边,就姑且算是吧~ 因为很喜欢三国题材的游戏,一直想做这类游戏,所以就查看了三国志11中所有开场时期的城池中的武将,从里面收集和整理出武将资料,以背不时之需. 资料包 ...

  4. 2463: [中山市选2009]谁能赢呢? Codeforces Round #429 (Div. 2) B. Godsend noip三国游戏...

    Description 小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子 ...

  5. P1199(NOIP2010 普及组)三国游戏 题解

    P1199(NOIP2010 普及组)三国游戏题解 Step-1 输入(重点) 输入n:int n;cin>>n; 输入数组: int a[1001][1001]; for(int i=1 ...

  6. qq三国挂机云服务器,云服务器挂机QQ三国游戏的流程和实际操作概况记录

    前几天老蒋也有记录到"云服务器挂QQ软件常用方法和注意问题"文章,因为是有网友遇到需要用到云服务器WIN环境挂QQ用途的,这不今天又遇到一个网友希望介绍一款可以挂机QQ三国游戏的云 ...

  7. 三国杀神话再临java版,神话再临 雷包10将 各版技能+台词 《三国杀》武将资料收录...

    原标题:神话再临 雷包10将 各版技能+台词 <三国杀>武将资料收录 <三国杀>神话再临 动如雷震 雷扩展包 本文梗概 收录了2018年发行的 <三国杀>神话再临 ...

  8. 三国游戏(贪心算法)

    [NOIP2010 普及组] 三国游戏 题目描述 小涵很喜欢电脑游戏,这些天他正在玩一个叫做<三国>的游戏. 在游戏中,小涵和计算机各执一方,组建各自的军队进行对战.游戏中共有 N N N ...

  9. 开发三国游戏ing, 玩得开心

    最近生活状态颇为平静, 算是无聊也好, 算是平安也好. 百无聊赖之际, 拾起了儿时的梦想: 开发一个三国游戏. 作为应用开发人员, 对游戏开发一窍不通. 前两个月基本上是翻资料, 看书, 查代码... ...

最新文章

  1. 完整的node脚手架搭建服务
  2. node process.env.NODE_ENV 使用 cross-env 配置 设置
  3. POJ 3268:Silver Cow Party 求单点的来回最短路径
  4. 百度编辑器图片上传 java_百度编辑器粘贴图片自动上传到服务器(Java版)
  5. tpch测试mysql_MySQL-tpch 测试工具简要手册
  6. 【zookeeper】zookeeper 的监听机制
  7. 《矩阵分析》代码Ⅱ——gauss消元法,列主元素法,总体主元素法matlab实现
  8. layout中蛇形线和差分线的使用
  9. Radon变换与Matlab代码
  10. python中除法运算定律_数学有哪几种简便运算方法?(除了加、乘法交换、结合律,减、除法的性质)...
  11. (34.1)【登录越权/爆破专题】原理、字典资源、工具、利用过程……
  12. 【场景化解决方案】OA付款审批同步到金蝶KIS
  13. 宽带按流量计费?欢迎讨论!
  14. 【论文笔记】Semantic Parsing on Freebase from Question-Answer Pairs
  15. 想知道你和她在网易云喜欢的音乐的重合率?
  16. Android7.0手机运行谷歌daydream的方法
  17. 世界各国历年GDP排名前15?Python动态图告诉你!
  18. 077 三角函数定积分性质
  19. linux系统mtd移植,文件系统 之 移植mtd-utils工具包
  20. linux 全选 编辑文本_强烈推荐:Linux终端文本编辑器Micro

热门文章

  1. 蓝桥杯知识点汇总:基础知识和常用算法
  2. Python——集合set
  3. FANUC机器人SRVO-037 IMSTP输入急停报警原因分析及处理步骤
  4. 支付宝校园一卡通充值服务体验
  5. QQ会员信息免密查询API接口
  6. 八爪鱼抓取html,最全的八爪鱼循环提取网站网页数据方法.docx
  7. 动态规划解决最短路径问题
  8. android 的颜色对比表
  9. 计算机应用基础图文混合排版,图文表混合排版  说课稿
  10. 程序员如何平衡工作与生活