0

我需要打印两个员工对象的名字、姓氏和薪水,但我不断收到找不到符号错误。我该怎么做才能解决这个问题?

这是构造函数类:

public class Employee
    {
        private String firstName;
        private String lastName;
        private double monthlySalary;

        public Employee( String firstName1, String lastName1, double monthlySalary1) {
            setfirstName(firstName1);
            setlastName(lastName1);
            setmonthlySalary(monthlySalary1);
        }

        String getfirstName() {
            return firstName;
        }

        String getlastName() {
            return lastName;
        }

        double getmonthlySalary() {
            return monthlySalary;
        }

        public void setfirstName (String firstName1) {
            firstName = firstName1;
        }

        public void setlastName (String lastName1) {
            lastName = lastName1;
        }

        public void setmonthlySalary (double monthlySalary1) {
            monthlySalary = ( monthlySalary1 >= 0 ? monthlySalary1 : 0);
        }
    }

这是我到目前为止打印对象的内容:

public class EmployeeTest {

      public static void main(String[] args) {
            Employee a = new Employee("John", "Smith", 10000);
            Employee b = new Employee("Jane", "Smith", 11000);
            System.out.print(a.firstName1);
         }
   }

我需要能够让它打印出类似于“姓名:薪水:”的内容,但我对如何完成这项工作一无所知。任何帮助将不胜感激。

4

3 回答 3

1

在您的员工类中,您需要重写 toString() 方法。

您可以尝试以下方法:

@Override
public String toString()
{
   System.out.println("Name: "+name+"Salary: "+salary);
}

然后对于您的每个员工,当您想要打印它们时,只需调用

System.out.println(employee);
于 2013-09-20T18:04:39.630 回答
0

您无法打印出来firstName(或者firstName1,因为您的班级中不存在),因为它被标记为私有。你应该这样做:

System.out.print(a.getfirstName())
于 2013-09-20T18:03:14.590 回答
0

firstNameis private,这意味着在它所在的对象/类之外无法看到它。我建议您尝试覆盖类toString()上的方法Employee。该方法将有权访问Employee.

或者,您可以使用getfirstName()返回名字。

此外,这可能是一个错字,但firstName1在 Employee 中没有 - 它是firstName.

于 2013-09-20T18:05:01.843 回答