7-9 职工排序题 (20 分)
生活随笔
收集整理的這篇文章主要介紹了
7-9 职工排序题 (20 分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 為某保險公司設計一個職工管理系統,其中職工類的屬性有:職工編號,姓名,性別,團體險業績,個體險業績;方法有: 每個屬性對應的set,get方法; 不帶參數的構造方法; 帶參數的構造方法,完成對職工屬性的初始化; 該類實現接口Comparable,完成對職工總業績的比較。
2. 設計一個類,實現Comparator接口,完成對團體險業績的比較;
3. 在Main類中,創建一個職工的線性表,分別完成對職工線性表按照總業績升序排序,按照團體險業績升序排序。 注意:不要設計鍵盤輸入職工信息,可根據樣例中提供的數據直接創建職工對象;
輸入格式:
輸出格式:
各項之間用逗號“,”分隔
輸入樣例:
在這里給出一組輸入。例如:
輸出樣例:
在這里給出相應的輸出。例如:
這道題是較好的學習關于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 分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我是大东家敦煌探秘攻略
- 下一篇: 「常识」tgp打开英雄联盟为什么不显示