在java中同时编译几个类
我有这样个程序,有两个类:publicclassEmployeeTest{publicstaticvoidmain(String[]args){//fillthestaf...
我有这样个程序,有两个类:
public class EmployeeTest
{
public static void main(String[] args)
{
// fill the staff array with three Employee objects
Employee[] staff = new Employee[3];
staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15);
// raise everyone's salary by 5%
for (Employee e : staff)
e.raiseSalary(5);
// print out information about all Employee objects
for (Employee e : staff)
System.out.println("name=" + e.getName()
+ ",salary=" + e.getSalary()
+ ",hireDay=" + e.getHireDay());
}
}
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);
// GregorianCalendar uses 0 for January
hireDay = calendar.getTime();
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public Date getHireDay()
{
return hireDay;
}
public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
}
private String name;
private double salary;
private Date hireDay;
}
程序是没的问题的;书上是开始这2个类是放在一起的,能编译能运行;但是,书上说,2个类可以分开放,然后编译;用javac Employee*.java;或者javac EmployeeTest.java都行;我就把这2个类放在2个记事本里,后缀也改了;但编译都报错!
Employee.java:22: 找不到符号
符号: 类 Date
位置: 类 Employee
public Date getHireDay()
^
Employee.java:35: 找不到符号
符号: 类 Date
位置: 类 Employee
private Date hireDay;
^
Employee.java:7: 找不到符号
符号: 类 GregorianCalendar
位置: 类 Employee
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
^
Employee.java:7: 找不到符号
符号: 类 GregorianCalendar
位置: 类 Employee
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
^
4 错误
为什么?高手!书上讲的是错的?这书同学借我的,说是权威书籍!天啊! 展开
public class EmployeeTest
{
public static void main(String[] args)
{
// fill the staff array with three Employee objects
Employee[] staff = new Employee[3];
staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15);
// raise everyone's salary by 5%
for (Employee e : staff)
e.raiseSalary(5);
// print out information about all Employee objects
for (Employee e : staff)
System.out.println("name=" + e.getName()
+ ",salary=" + e.getSalary()
+ ",hireDay=" + e.getHireDay());
}
}
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);
// GregorianCalendar uses 0 for January
hireDay = calendar.getTime();
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public Date getHireDay()
{
return hireDay;
}
public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
}
private String name;
private double salary;
private Date hireDay;
}
程序是没的问题的;书上是开始这2个类是放在一起的,能编译能运行;但是,书上说,2个类可以分开放,然后编译;用javac Employee*.java;或者javac EmployeeTest.java都行;我就把这2个类放在2个记事本里,后缀也改了;但编译都报错!
Employee.java:22: 找不到符号
符号: 类 Date
位置: 类 Employee
public Date getHireDay()
^
Employee.java:35: 找不到符号
符号: 类 Date
位置: 类 Employee
private Date hireDay;
^
Employee.java:7: 找不到符号
符号: 类 GregorianCalendar
位置: 类 Employee
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
^
Employee.java:7: 找不到符号
符号: 类 GregorianCalendar
位置: 类 Employee
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
^
4 错误
为什么?高手!书上讲的是错的?这书同学借我的,说是权威书籍!天啊! 展开
4个回答
展开全部
原因是没有import进java.util.Date和java.util.GregorianCalendar两个类
import java.util.Date;
import java.util.GregorianCalendar;
public class EmployeeTest {
public static void main(String[] args) {
// fill the staff array with three Employee objects
Employee[] staff = new Employee[3];
staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15);
// raise everyone's salary by 5%
for (Employee e : staff)
e.raiseSalary(5);
// print out information about all Employee objects
for (Employee e : staff)
System.out.println("name=" + e.getName() + ",salary=" + e.getSalary() + ",hireDay=" + e.getHireDay());
}
}
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);
// GregorianCalendar uses 0 for January
hireDay = calendar.getTime();
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
public Date getHireDay() {
return hireDay;
}
public void raiseSalary(double byPercent) {
double raise = salary * byPercent / 100;
salary += raise;
}
private String name;
private double salary;
private Date hireDay;
}
import java.util.Date;
import java.util.GregorianCalendar;
public class EmployeeTest {
public static void main(String[] args) {
// fill the staff array with three Employee objects
Employee[] staff = new Employee[3];
staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15);
// raise everyone's salary by 5%
for (Employee e : staff)
e.raiseSalary(5);
// print out information about all Employee objects
for (Employee e : staff)
System.out.println("name=" + e.getName() + ",salary=" + e.getSalary() + ",hireDay=" + e.getHireDay());
}
}
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);
// GregorianCalendar uses 0 for January
hireDay = calendar.getTime();
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
public Date getHireDay() {
return hireDay;
}
public void raiseSalary(double byPercent) {
double raise = salary * byPercent / 100;
salary += raise;
}
private String name;
private double salary;
private Date hireDay;
}
展开全部
导入包了么?!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的 Employee 和 EmployeeTest 这两个类要放在同一个目录下。且每个类的文件的名字要与类名相同如 EmployeeTest.java Employee.java
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先编译Employee ,再EmployeeTest,还有看下环境变量有没有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询