pgty
发贴: 19
积分: 0
|
于 2004-10-20 01:32
这个程序那里错了啊
我怎么调都调不好
import java.util.*;
public class EqualsTest { public static void main(String[] args) { Employee alicel = new Employee("Alice Adams",75000,1987,12,15); Employee alice2 = alice1; Employee alice3=new Employee("Alice Adams",75000,1987,12,15); Employee bob = new Employee("bob Brandson",50000,1989,10,1);
System.out.println("Alice1 == Alice2:" + (alice1==alice2)); System.out.println("Alice1 == Alice3:" + (alice1==alice3)); System.out.println("alice.equals(alice3):" + alice1.equals(alice3)); System.out.println("bob.equals(bob):" + alice1.equals(bob)); System.out.println("bob.toString():" + bob); Manager car1 = new Manager("Car1 Cracker",80000,1987,12,15); Manager boss = new Manager("Car1 Cracker",80000,1987,12,15); boss.setBonus(5000); System.out.println("boss.toString()" + boss); System.out.println("Car1.equals(boss):" + car1.equals(boss)); } }; class Employee { public Employee(String n,double s, int year,int month,int day) { name=n; salary=s; GregorianCalendar.calendar=new GregorianCalendar(year,month-1,day); hireDay = calender.getTime();
} public String getName() { return name; } public double getSalary() { return salary; } public Date getHirDay() { return hirDay; } public void raIseSalary(double bypercent) { double raise=salary*byPercent / 100; salary+=ralse; } public boolean equals(Object otherObject) { if(this == otherObject ) return true;
if(otherObject == null) return false;
if(getClass()!= otherOject.getClass()) return false;
Employee other = (Employee)otherOject;
return name.equals(other.hireDay);
} public String toString() { return getClass().getName() + "[name=" + name + "salary=" + salary + "hireDay=" + hireDay + "]"; }
private String name; private double salary; private Date hireDay; }; class Manager extends Employee { public Manager(String n,double s,int year ,int month,int day) { super(n,s,year,month,day); bonus=0;
} public double gerSalary() { double baseSalary = super.getSalary(); return baseSalary +bonus; } public void setBonus(double b) { bonus=b; } public boolean equals(Object otherObject) { if(!super.euqals(otherObject)) return false; Manager other=(Manager)otherObject; return bonus==other.bonus; } public String toString() { return super.toString()+"[bonus=" + bonus+ " ]"; } private double bonus; };
why edited on 2004-10-20 01:49
|