1. 为某保险公司设计一个职工管理系统,其中职工类的属性有:职工编号,姓名,性别,团体险业绩,个体险业绩;方法有: 每个属性对应的set,get方法; 不带参数的构造方法; 带参数的构造方法,完成对职工属性的初始化; 该类实现接口Comparable,完成对职工总业绩的比较。

2. 设计一个类,实现Comparator接口,完成对团体险业绩的比较;

3. 在Main类中,创建一个职工的线性表,分别完成对职工线性表按照总业绩升序排序,按照团体险业绩升序排序。 注意:不要设计键盘输入职工信息,可根据样例中提供的数据直接创建职工对象;

输入格式:
输出格式:
各项之间用逗号“,”分隔

输入样例:
在这里给出一组输入。例如:

输出样例:
在这里给出相应的输出。例如:

编号,团险,个险,姓名,性别
1,500,400,职工1,female
3,600,300,职工3,male
2,400,600,职工2,female
4,800,200,职工4,female
5,500,700,职工5,male
编号,团险,个险,姓名,性别
2,400,600,职工2,female
1,500,400,职工1,female
5,500,700,职工5,male
3,600,300,职工3,male
4,800,200,职工4,female

这道题是较好的学习关于Comparable和Comparator两个接口相关的实现,以及关于sort排序的模板

import java.util.*;public class Main {public static void main(String[] args) throws InterruptedException {Scanner sc = new Scanner(System.in);List<Staff> ss=new ArrayList<Staff>();ss.add(new Staff(1,500,400,"职工1","female"));ss.add(new Staff(2,400,600,"职工2","female"));ss.add(new Staff(3,600,300,"职工3","male"));ss.add(new Staff(4,800,200,"职工4","female"));ss.add(new Staff(5,500,700,"职工5","male"));Collections.sort(ss);System.out.println("编号,团险,个险,姓名,性别");for (Staff s:ss){System.out.println(s.toString());}ss.sort(new newComparetor());System.out.println("编号,团险,个险,姓名,性别");for (Staff s:ss){System.out.println(s.toString());}}
}class Staff implements Comparable<Staff>{private int number;private int tscore;private int pscore;private String name ;private String sex;public Staff() {}public Staff(int number, int tscore, int pscore, String name, String sex) {this.number = number;this.tscore = tscore;this.pscore = pscore;this.name = name;this.sex = sex;}public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getTscore() {return tscore;}public void setTscore(int tscore) {this.tscore = tscore;}public int getPscore() {return pscore;}public void setPscore(int pscore) {this.pscore = pscore;}@Overridepublic int compareTo(Staff s) {int ret=this.pscore+this.tscore-s.getPscore()-s.getTscore();if (ret>0)ret=1;else if (ret<0)ret=-1;return ret;}@Overridepublic String toString() {return number +"," + tscore +"," + pscore +"," + name +"," + sex;}
}class newComparetor implements Comparator<Staff> {public newComparetor() {}@Overridepublic int compare(Staff o1, Staff o2) {int ret=o1.getTscore()-o2.getTscore();if (ret>0)ret=1;else if (ret<0)ret=-1;return ret;}
}

7-9 职工排序题 (20 分)相关推荐

  1. 7-9 职工排序题 (20分)

    Ctril+Alt+L IDEA一键整理代码快捷键 Comparator接口:比较器 {方法: int compare(T o1, T o2) 返回值大于0,o1大.} Collections.sor ...

  2. 7-4 职工排序题 (18分)

    1. 为某保险公司设计一个职工管理系统,其中职工类的属性有:职工编号,姓名,性别,团体险业绩,个体险业绩:方法有: 每个属性对应的set,get方法: 不带参数的构造方法: 带参数的构造方法,完成对职 ...

  3. 7-2 选择法排序 (20 分)

    作者:注意,如果是做PTA代码 第6行 的数列声明不能填数字(如 int a[11] !!这样不行!!), PTA的一个"测试点0"不会识别,虽然从某种意义上来说一样,但是PTA往 ...

  4. /* * 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“

    题目: 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 *****************    所谓" ...

  5. /* * 编程题第四题(20分): 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案。 */

    题目: /* 编程题第四题(20分): 用1元5角钱人名币兑换5分.2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案. */ 我使用java做的 public class ...

  6. /* * 编程第三题(20分) 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例153=1*1*1+3*3*3+5*5*5) */

    题目: /* 编程第三题(20分) 打印所有的水仙花数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.(例153=111+333+555) */ 我是用java做的 public cla ...

  7. /* * 编程第二题(20分): 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第十次落地时,共经过多少米?第十次反弹多高? */

    题目: /* * 编程第二题(20分): 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第十次落地时,共经过多少米?第十次反弹多高? */ 我是用java做的 public ...

  8. /* * 编程第一题(20分): 1+(1+2)+(1+2+3)+……+(1+2+3+……+98+99+100) */

    题目: /* 编程第一题(20分): 1+(1+2)+(1+2+3)+--+(1+2+3+--+98+99+100) */ 我是用的java做的 class One {public static vo ...

  9. 7-5 冒泡法排序(20 分)

    7-5 冒泡法排序(20 分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元素 ...

最新文章

  1. linux 文件权限标识,linux文件权限学习 包括 特殊权限
  2. python挖坑法实现快排
  3. 有关[Http持久连接]的一切,卷给你看
  4. 你真的懂js获取可视区宽高吗
  5. FineReport实现java报表统计图表的效果图
  6. pytorch学习 训练一个分类器(五)
  7. day 67 django 之ORM 增删改查基础
  8. Configuring SharePoint 2010 and ADFS v2 End to End-摘自网络
  9. 欢迎大家制作搜狗输入法flash皮肤。
  10. 【深度语义匹配模型】实践篇:语义匹配在贝壳找房智能客服中的应用
  11. Focal Loss for Dense Object Detection解读
  12. Linux NFS 服务部署
  13. 智慧(灯杆)路灯系统集成解决方案详解
  14. Spring获取外网IP
  15. 质数合数相关操作python代码合集(比较全面,欢迎补充)
  16. Ubuntu 更改环境变量 PATH
  17. mysql分页查询出租房屋信息_分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)...
  18. 微信绑定会员卡服务器出错,会员卡信息更新失败
  19. 如何抓取 bet365 即时足球比分数据
  20. python扇贝每日一句api_扇贝简易爬虫

热门文章

  1. 第9章:Bootstrap Token方式增加Node
  2. java入参为方法_Java命令注入原理结合Java Instrument技术(FreeBuf首发)
  3. 媒体声音|阿里云数据库:一站式全链路数据管理与服务,引领云原生2.0时代
  4. 阿里云低代码行业智能开放平台开拓行业AI应用新方法
  5. 阿里云数据库RDS PG联合电商SaaS领导者班牛,助力1500+品牌数智化
  6. Android Native crash 处理案例分享
  7. 小邪在阿里的十年技术人生
  8. linux脚本日期时间,Linux 日期和时间操作详解
  9. 1个人,耗时2年半,这款大型仙侠3D硬核ARPG是怎么做出来的?
  10. 揭秘《死者之书》之环境资源及特效创作