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

照抄书上的程序,但出现错误,请帮我指出
这个程序书上是说明“包”的用法的程序,但是我并没有明白。把书上的程序照抄一遍,还现了错误,自己还发现不了。请大家帮忙。

import com.horstmann.corejava.*;
import static java.lang.System.*;

public class Study
{
public static void main(String[] args)
{
Employee harry = new Employee("Harry Hacher", 5000, 1989, 10, 1);
harry.raiseSalary(5);
System.out.println("name = " + harry.getName());
}
}

package com.horstmann.corejava;
import java.util.*;

 public class Employee
{
private String name;
private double salary;
private Date hireDay;
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 = calendar.getTime();
}

public String getName()
{
return name;
}

public double getSalary()
{
return salary;
}

public Date getHireDay()
{
return hireDay;
}

public void raiseSalary(double byPercent)
{
salary = salary + salary*byPercent/100;
}
}


错语提示如下:


------解决方案--------------------
你把两个文件的内容抄到一个文件里了
------解决方案--------------------
引用:
是要把这两个文件分开写进两个java文件里吗?


是的 一个文件名是 study 一个是 Employee
------解决方案--------------------
引用:
另外回复12楼,是不是Employee.java移到com\horstmann\corejava\去时,是用复制还是用剪切,原来的位置是否还要留着?

我截图给你们看我的这两个文件的情况:




我这刚运行了下, 没问题,书上的例子是对的。 
你移动Employee.class到com\horstmann\corejava\下就行了,复制或者剪切其实没影响



------解决方案--------------------
首先,楼主应该把这两个public class放在不同的文件夹里,一个文件只能有一个public class。
其次,楼主在编译的时候,应该把两个class都编译了。