【发布时间】:2013-08-21 00:15:51
【问题描述】:
我正在尝试在这里刷新我的 Java 技能。我正在做一个简单的java作业。以下是前两个说明。
创建具有以下属性/变量的 Employee 类: 姓名 年龄 部门
创建一个名为 Department 的类,该类将包含员工列表。
a) Department 类将有一个方法,该方法将返回按年龄排序的员工。
b) 部门的值只能是以下值之一: “会计” “营销” “人力资源” “信息系统”
我在第 2 步遇到了一点问题。我需要帮助弄清楚如何添加员工列表,以及如何编写将通过按年龄排序的员工返回。
我只想有人解释如何做到这一点。谢谢。
到目前为止,我有这个。
员工等级:
package simpleJavaAssignment;
public class Employee {
String name;
int age;
Department department;
Employee(String n, int a, Department d)
{
this.name = n;
this.age = a;
this.department = d;
}
int gAge(){
return age;
}
}
部门类:
package simpleJavaAssignment;
import java.util.*;
public enum Department {
ACCOUNTING("Accounting"), MARKETING("Marketing"), HUMAN_RESOURCES(
"Human Resources"), INFORMATION_SYSTEMS("Information Systems");
private String deptName;
Department(String deptName) {
this.deptName = deptName;
}
@Override
public String toString() {
return this.deptName;
}
}
【问题讨论】:
-
作为一个设计点,您可能不应该将
enum用于部门类型,因为它们可以相对频繁地更改。另外,您所说的Department只是一个部门的名称。Department应该是一个包含Employee对象集合的类。 -
让Employee类实现Comparator接口
-
就 (b) 而言,您只需要在您的设置器中为
department变量提供一些验证。提供允许的部门字符串的静态集合,并在设置Employee的部门时对其进行检查。如果失败,则重新提示用户选择可接受的。另外,我不能确定,但似乎在您的Employee中有一个Department实例似乎是错误的。为什么您需要可能在员工记录中包含数千个条目的部门。我认为你需要反过来。 -
我还必须考虑
Department是否不是特定部门扩展的超类。
标签: java