哪里的程序啊? 去网上下载最新的源代码 /** @version 1.31 2004-02-19 @author Cay Horstmann */import java.util.*;public class CalendarTest { public static void main(String[] args) { // construct d as current date GregorianCalendar d = new GregorianCalendar(); int today = d.get(Calendar.DAY_OF_MONTH); int month = d.get(Calendar.MONTH); // set d to start date of the month d.set(Calendar.DAY_OF_MONTH, 1); int weekday = d.get(Calendar.DAY_OF_WEEK); // print heading System.out.println("Sun Mon Tue Wed Thu Fri Sat"); // indent first line of calendar for (int i = Calendar.SUNDAY; i < weekday; i++ ) System.out.print(" "); do { // print day int day = d.get(Calendar.DAY_OF_MONTH); System.out.printf("%3d", day); // current day with * if (day == today) System.out.print("*"); else System.out.print(" "); // start a new line after every Saturday if (weekday == Calendar.SATURDAY) System.out.println(); // advance d to the next day d.add(Calendar.DAY_OF_MONTH, 1); weekday = d.get(Calendar.DAY_OF_WEEK); } while (d.get(Calendar.MONTH) == month); // the loop exits when d is day 1 of the next month // print final end of line if necessary if (weekday != Calendar.SUNDAY) System.out.println(); } }
return cloned; } /** Set the hire day to a given date @param year the year of the hire day @param month the month of the hire day @param day the day of the hire day */ public void setHireDay(int year, int month, int day) { hireDay = new GregorianCalendar(year, month - 1, day).getTime(); } public void raiseSalary(double byPercent) { double raise = salary * byPercent / 100; salary += raise; } public String toString() { return "Employee[name=" + name + ",salary=" + salary + ",hireDay=" + hireDay + "]"; } private String name; private double salary; private Date hireDay; }
去网上下载最新的源代码
/**
@version 1.31 2004-02-19
@author Cay Horstmann
*/import java.util.*;public class CalendarTest
{
public static void main(String[] args)
{
// construct d as current date
GregorianCalendar d = new GregorianCalendar(); int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH); // set d to start date of the month
d.set(Calendar.DAY_OF_MONTH, 1); int weekday = d.get(Calendar.DAY_OF_WEEK); // print heading
System.out.println("Sun Mon Tue Wed Thu Fri Sat"); // indent first line of calendar
for (int i = Calendar.SUNDAY; i < weekday; i++ )
System.out.print(" "); do
{
// print day
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d", day); // current day with *
if (day == today)
System.out.print("*");
else
System.out.print(" "); // start a new line after every Saturday
if (weekday == Calendar.SATURDAY)
System.out.println(); // advance d to the next day
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK);
}
while (d.get(Calendar.MONTH) == month);
// the loop exits when d is day 1 of the next month // print final end of line if necessary
if (weekday != Calendar.SUNDAY)
System.out.println();
}
}
/**
@version 1.10 2002-07-01
@author Cay Horstmann
*/import java.util.*;public class CloneTest
{
public static void main(String[] args)
{
try
{
Employee original = new Employee("John Q. Public", 50000);
original.setHireDay(2000, 1, 1);
Employee copy = original.clone();
copy.raiseSalary(10);
copy.setHireDay(2002, 12, 31);
System.out.println("original=" + original);
System.out.println("copy=" + copy);
}
catch (CloneNotSupportedException e)
{
e.printStackTrace();
}
}
}class Employee implements Cloneable
{
public Employee(String n, double s)
{
name = n;
salary = s;
} public Employee clone() throws CloneNotSupportedException
{
// call Object.clone()
Employee cloned = (Employee)super.clone();
// clone mutable fields
cloned.hireDay = (Date)hireDay.clone();
return cloned;
} /**
Set the hire day to a given date
@param year the year of the hire day
@param month the month of the hire day
@param day the day of the hire day
*/
public void setHireDay(int year, int month, int day)
{
hireDay = new GregorianCalendar(year, month - 1, day).getTime();
} public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
} public String toString()
{
return "Employee[name=" + name
+ ",salary=" + salary
+ ",hireDay=" + hireDay
+ "]";
} private String name;
private double salary;
private Date hireDay;
}
在编译的时候,Eclipse说返回的类型和Object.clone()不匹配!也就是说,它要求返回一个Object类型的对象 public Employee clone() throws CloneNotSupportedException
{
………………
return cloned;
}