习题:编写员工Employee类,包含工号id、姓名name、工资salary等属性,令Employee类实现java.lang.comparable接口,并实现接口中的compareTo()方法。

完整题干:

编写员工Employee类,包含工号id、姓名name、工资salary等属性,令Employee类实现java.lang.comparable接口,并实现接口中的compareTo()方法,制定比较的规则。在测试类中创建几个Employee对象,利用java.util.Arrays类对其进行排序并打印输出排序结果。

关于比较的规则∶建议分别按照name和salary进行升序排序。

参考答案:

package chap6.excercise.ex7;

import java.util.Arrays;

public class Employee implements Comparable {

	private String id;

	private String name;

	private double salary;

	

	public Employee() {		

	}

	

	public Employee(String id, String name, double salary) {

		super();

		this.id = id;

		this.name = name;

		this.salary = salary;

	}

	public String getId() {

		return id;

	}

	public void setId(String id) {

		this.id = id;

	}

	public String getName() {

		return name;

	}

	public void setName(String name) {

		this.name = name;

	}

	public double getSalary() {

		return salary;

	}

	public void setSalary(double salary) {

		this.salary = salary;

	}



	@Override

	public int compareTo(Object obj) {

		if(obj instanceof Employee){

			Employee e = (Employee)obj;

			//return this.name.compareTo(e.name);  //按照name升序排序

			return (int)(this.salary-e.salary);	//按照工资升序排序

		}

		return 0;

	}

	

	public String toString(){	//重写toString方法

		return id+","+name+","+salary;

	}

	

	public static void main(String[] args){

		Employee[] es = new Employee[5];

		es[0]= new Employee("001","zhang",5000);

		es[1]= new Employee("002","li",8000);

		es[2]= new Employee("003","zhao",6000);

		es[3]= new Employee("004","song",6500);

		es[4]= new Employee("005","zhu",9500);



		Arrays.sort(es);

		

		for(Employee e: es){

			System.out.println(e);

		}		

	}

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hellenionia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值