7-11 职工排序题
分数 15
全屏浏览题目
切换布局
作者 孙晨霞
单位 河北农业大学
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
代码如下:
public class Main{
public static void main(String[] args){
Staff []Sta=new Staff[5];
Sta[0]=new Staff("1",500,400,"职工1","female");
Sta[1]=new Staff("2",400,600,"职工2","female");
Sta[2]=new Staff("3",600,300,"职工3","male");
Sta[3]=new Staff("4",800,200,"职工4","female");
Sta[4]=new Staff("5",500,700,"职工5","male");
Com c=new Com();
c.sortPrintSum(Sta);
c.sortPrintTeam(Sta);
}
}
class Staff{
private String staId;
private String staName;
private String staSex;
private int staTeam;
private int staPer;
public void setStaId(String staId){
this.staId=staId;
}
public String getStaId(){
return staId;
}
public void setStaName(String staName){
this.staName=staName;
}
public String getStaName(){
return staName;
}
public void setStaSex(String staSex){
this.staSex=staSex;
}
public String getStaSex(){
return staSex;
}
public void setStaTeam(int staTeam){
this.staTeam=staTeam;
}
public int getStaTeam(){
return staTeam;
}
public void setStaPer(int staPer){
this.staPer=staPer;
}
public int getStaPer(){
return staPer;
}
Staff(){
}
Staff(String staId,int staTeam,int staPer,String staName,String staSex){
this.staId=staId;
this.staTeam=staTeam;
this.staPer=staPer;
this.staName=staName;
this.staSex=staSex;
}
}
interface Comparable{
void sortPrintSum(Staff []Sta);
void sortPrintTeam(Staff []Sta);
}
class Com implements Comparable{
Staff []S=new Staff[5];
public void sortPrintSum(Staff []Sta){
System.out.println("编号,团险,个险,姓名,性别");
//Arrays.sort(Sta);
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
if(Sta[j].getStaTeam()+Sta[j].getStaPer()>Sta[j+1].getStaTeam()+Sta[j+1].getStaPer()){
Staff s=new Staff();
s=Sta[j];
Sta[j]=Sta[j+1];
Sta[j+1]=s;
}
}
}
for(int i=0;i<5;i++){
System.out.println(Sta[i].getStaId()+","+
Sta[i].getStaTeam()+","+Sta[i].getStaPer()+","+Sta[i].getStaName()+","+Sta[i].getStaSex());
}
}
@Override
public void sortPrintTeam(Staff[] Sta) {
System.out.println("编号,团险,个险,姓名,性别");
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
if(Sta[j].getStaTeam()>Sta[j+1].getStaTeam()){
Staff s=new Staff();
s=Sta[j];
Sta[j]=Sta[j+1];
Sta[j+1]=s;
}
}
}
for(int i=0;i<5;i++){
System.out.println(Sta[i].getStaId()+","+
Sta[i].getStaTeam()+","+Sta[i].getStaPer()+","+Sta[i].getStaName()+","+Sta[i].getStaSex());
}
}
}
思路:
1、一顿get,set方法
2、在主函数构造好数据
3、用对象数组装起来
4、搞一个类implement接口
5、在这个类定义两个排序方法,按照样例输出,注意参数的传递
如果对你有用就点个关注吧,谢谢啦~