谁能告诉我这是什么意思?

tys1105 2004-03-28 12:46:32
我在看一段代码,由于看不懂想运行程序看书结果,
在编译下面程序时,出现这样的错误提示:
Employee should declared abstract it does not define compare (java.lang.object)是什么意思?
小弟还想多问一下,raiseSalary(double bypend )方法中的参数由那个变量传递给它。
import java.util.*;
import java.lang.*;
public class EmployeeTest {
public static void main(String[] args) {
Employee[] staff=new Employee[3];
staff[0]=new Employee("harry",7500);
staff[1]=new Employee("tony",700);
staff[2]=new Employee("tom",3600);
Arrays.sort(staff);
for(int i=0;i<staff.size();i++) {
Employee e=staff[i];
Systme.out.println("name="+e.getName()+",salary="+e.getSalary());
}
}
}
class Employee implenemts Compareble {
public Employee(String n,double s) {
name=n;
salary=s;
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
public void raiseSalary(double bypend) {
double raise=salary*bypend/100;
salary+=raise;
}
public int compareTO(Object otherObject) {
Employee other=(Employee)otherObject;
if(salary>other.salary) return 1;
if(salary<other.salary) return -1;
return 0;
}
private String name;
private double salary;
}

...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ghoscorpion 2004-03-28
  • 打赏
  • 举报
回复
同楼上的,compareTo的大小写要注意,还有就是拼写错误。
因为你没有定义compareTo函数,所以有:Employee should declared abstract it does not define compare (java.lang.object)。意思是需要定义成抽象类。

raiseSalary(double bypend )
调用到函数的时候你传进一个参数就可以了。
muymuy 2004-03-28
  • 打赏
  • 举报
回复
1.Compareble应为:Comparable;

2.compareTO应为:compareTo,注意大小写。
softgq 2004-03-28
  • 打赏
  • 举报
回复
你这是什么程序呀?这么多错误
10行:staff.length //staff.size
12行:System.out.………… //Systme
16行:implements //implenemts
16行还有你要实现什么接口呀,Compareble编译器提示没有啊。

你再仔细看看吧

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧