创建一个Employee类,用来存储雇员的ID、姓名和工资。其中ID用int类型来存储,并可自动顺序编号,例如上一个雇员的ID为10,则下一个雇员的ID为11。并编写一个测试程序,输入数据:
张三,40000
李四,60000
王五,65000
输出存储的结果,并给出下一个有效编号,形式如下:
姓名=张三,编号=1,工资=40000.0
姓名=李四,编号=2,工资=60000.0
姓名=王五,编号=3,工资=65000.0
下一个有效编号=4
可考虑用静态变量存储员工编号,完整的程序代码如下:
/** TestEmployee.java @author ZDS
* 2007-2-18 下午12:18:15 */
package chap03;
/** 输入并打印所有员工的信息*/
public class TestEmployee {
public static void main(String[] args) {
Employee[] staff = new Employee[3];// 输入3个员工的信息到职工数组
staff[0] = new Employee("张三", 40000);
staff[1] = new Employee("李四", 60000);
staff[2] = new Employee("王五", 65000);
for (int i = 0; i < staff.length; i++)// 打印输出所有员工的信息
{
Employee e = staff[i];
e.setId();
System.out.println("姓名=" + e.getName() + ",编号=" + e.getId()
+ ",工资=" + e.getSalary());
}
int n = Employee.getNextId();// 调用静态方法
System.out.println("下一个有效编号=" + n);
}
}
/** 存储雇员的ID、姓名和工资,并保存下一个ID号*/
class Employee {
private String name;
private double salary;
private int id;
private static int nextId = 1;
public Employee(String n, double s) {
name = n;
salary = s;
id = 0;
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
public int getId() {
return id;
}
public void setId() {
id = nextId;// 设置职工编号到下一个有效编号
nextId++;
}
public static int getNextId() {
return nextId;//返回静态存储空间
}
public static void main(String[] args) // 单元测试
{
Employee e = new Employee("张三", 50000);
System.out.println(e.getName() + " " + e.getSalary());
}
}