日期:2014-05-20  浏览次数:20754 次

java面向对象题
请设计一个具备比较功能的类(例如 员工类, 需要有姓名, 年龄, 薪水三个成员属性需要私有并提供get, set方法, 可以通过构造函数进行初始化,并且按照薪水进行排序)
题目有点看不懂!它是要求我根据薪水对什么进行排序啊?
求大神帮助,希望写出详细代码!
java

------解决方案--------------------
重点就是一个“比较”,一个类中包含姓名, 年龄, 薪水三个属性,比较的应该是薪水这个属性,比如定义俩对象,通过get薪水,然后比较他们的大小。
------解决方案--------------------
重写一个compare方法。
public Class User{
private String name;
private String id;
private Long salary;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
//剩下的一样
public boolean compare(long l1,long l2){
//写一个比较l1和l2大小的方法。
}
}
------解决方案--------------------
2楼的方法正确的。
------解决方案--------------------
楼主不要听楼上的,他的解答不正确。
自己做吧,初学java的孩纸伤不起啊,不想学没必要学这个的。
------解决方案--------------------
public boolean compare(long l1,long l2){
//写一个比较l1和l2大小的方法。
}
------解决方案--------------------
工资怎么可能是long类型,一点常识都没!!!
------解决方案--------------------


初学的自己先去理解下思想吧。。。



class Test {

   public Test(){
      //在这里面赋给变量初值.

}

   private String name ;
  private  int age ;
  private double money ;
  
//set,get自己补充.




}


简单给你敲了一个,其余的自己补充吧,
可以给你个思路:
1.在构造器里面进行初始化,
2.用薪水排序就是:
姓名   年龄  薪水
x         23    2000
y         18      1800
z          21        1700
这样按照薪水的高低排序.最简单的方法,可以用数组对他们进行排序。
刚开始都难,慢慢来吧。。加油!
------解决方案--------------------
单个对象哪来的什么排序,只有到了数组或集合中才有存在排序一说
------解决方案--------------------
楼主是需要这个意思么?
public class Employee {

private String userName;
private int age;
private Double salary;


public Employee(String userName, int age, double salary) {
this.userName = userName;
this.age = age;
this.salary = salary;
}

@Override
public String toString() {
StringBuilder sb = new StringBuilder(256);
sb.append("{userName:").append(userName);
sb.append("age:").append(age);
sb.append("salary:").append(salary).append("}");
return sb.toString();
}
// getter、setter方法
   ..........
}

/**
 * 根据工资进行升序的
 *
 */
public class EmployeeSalaryAscComparator implements Comparator<Employee> {