职工排序题

该问题涉及设计一个Java程序,包括一个职工类(包含属性如编号、姓名、性别、团体险业绩、个体险业绩,以及相关getter和setter方法,带参数和不带参数的构造器,实现Comparable接口以比较总业绩)和一个实现Comparator接口的类,用于按团体险业绩比较。在Main类中创建职工对象的线性表并进行两次排序,一次按总业绩升序,一次按团体险业绩升序。已给出部分代码和输出样例。
摘要由CSDN通过智能技术生成

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

————————————————————————————————————————

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

public class Main{

public static void main(String[] args) {

ArrayList<Staff> s=new ArrayList<>();

s.add(new Staff(1,500,400,"职工1","female"));

s.add(new Staff(3,600,300,"职工3","male"));

s.add(new Staff(2,400,600,"职工2","female"));

s.add(new Staff(4,800,200,"职工4","female"));

s.add(new Staff(5,500,700,"职工5","male"));

System.out.println("编号,团险,个险,姓名,性别");

for(Staff i:s) {

System.out.println(i.toString());

}

System.out.println("编号,团险,个险,姓名,性别");

Collections.sort(s, new Comparator<Staff>() {

public int compare(Staff o1, Staff o2) {

return o1.getTuan() - o2.getTuan();

}

}

);

for(Staff a: s) {

System.out.println(a.toString());

}

}

}

class Staff implements Comparator<Staff>{

int bianhao;//职工编号

String name;//姓名

String sex;//性别

int tuan;//团险

int geren;//个险

Staff(){

}

Staff(int bainhao,int tuan,int geren,String name,String sex){

this.bianhao=bainhao;

this.name=name;

this.sex=sex;

this.tuan=tuan;

this.geren=geren;

}

public String toString(){

return bianhao+","+tuan+","+geren+","+name+","+sex;

}

public int getBianhao() {

return bianhao;

}

public void setBianhao(int bianhao) {

this.bianhao = bianhao;

}

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 getTuan() {

return tuan;

}

public void setTuan(int tuan) {

this.tuan = tuan;

}

public int getGeren() {

return geren;

}

public void setGeren(int geren) {

this.geren = geren;

}

@Override

public int compare(Staff o1, Staff o2) {

// TODO Auto-generated method stub

return 0;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值