员工信息管理系统
1.设计员工类(Employee)
1)员工类属性:
编号: private String id;
姓名: private String name;
职务: private String position;
请假天数: private int holidays
工资: private double salary; //基本工资
2)员工类方法
printInfo(){}方法打印员工基本信息
计算员工工资的方法
public double sumSalary(int holidays){
//如果无请假,基本工资全发,有请假,扣除每天基本工资 * 请假天数
}
其他要求:自动编号(形式:10001,10002…),删除某员工后,该员工编号不再使用,其他员工信息不变;新增员工不考虑前面删除的编号,在最大编号的基础上继续即可。
2.员工管理类
实现对员工信息的增删改查
实现效果如下:
代码如下:
1.Employee类
package com.info;
import java.util.Scanner;
public class Employee{
private String id;
private String name;
private String position;
private int holidays;
private double salary;
static int ID = 10001;
//添加一条员工信息
public void add(){
operate();
ID++;
}
public void operate(){
Scanner sc = new Scanner(System.in);
System.out.print("name: ");
String n = sc.next();
System.out.print("position: ");
String p = sc.next();
System.out.print("holidays: ");
String h = sc.next();
System.out.print("salary: ");
String s = sc.next();
setHolidays(Integer.parseInt(h));
setSalary(Double.valueOf(s));
setPosition(p);
setId(String.valueOf(ID));
setName(n);
}
//打印一条员工信息
public void printinfo(){
System.out.print("ID:"+getId()+" ");
System.out.print("name:"+getName()+" ");
System.out.print("position:"+getPosition()+" ");
System.out.print("holidays:"+getHolidays()+" ");
System.out.println("salary:"+getSalary()+" ");
}
//打印所有员工信息
public static void printallinfo(Employee[] e){
for(Employee l:e){
if(l!=null)
l.printinfo();
}
}
//重载
public static void printallinfo(Employee[] e,String name){
for(Employee l:e){
if(l!=null&l.getName().equals(name)){
l.printinfo();
break;
}
}
}
//修改信息
public static void updateInfo(Employee[] e){
System.out.print("请输入要修改的员工id: ");
Scanner sc = new Scanner(System.in);
String id = sc.next();
for(Employee l:e){
if(l.getId().equals(id)){
// System.out.println(l.getId()+" "+id);
l.operate();
System.out.println("修改成功!");
l.printinfo();
break;
}
}
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public int getHolidays() {
return holidays;
}
public void setHolidays(int holidays) {
this.holidays = holidays;
}
public double getSalary() {
if(this.getHolidays()!=0)
return salary-(salary/30)*this.getHolidays();
else
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
2.PersonnelBook类
package com.info;
import java.util.Scanner;
import com.info.Employee;
//员工管理系统
public class PersonnelBook {
static int max = 100;
static Employee[] e = new Employee[max];
static int i = 0; //员工个数
public static void main(String[] args) {
PersonnelBook p =new PersonnelBook();
Scanner sc = new Scanner(System.in);
while(true){
menu(); //打印主界面
switch(p.num()){
case 0:
System.out.println("再见!");
sc.close(); // 最后关闭Scanner
System.exit(1); // 退出
case 1:
p.addInfo();
break;
case 2:
delete(e);
break;
case 3:
Employee.updateInfo(e);
break;
case 4:
Employee.printallinfo(e);
break;
case 5:
p.query();
break;
default:
System.out.println("输入有误!");
break;
}
}
}
//添加信息
public void addInfo(){
Employee E = new Employee();
E.add();
e[i]=E;
if(e[i].getId()!=null){
System.out.println("添加成功!");
System.out.println("添加的员工信息为:");
e[i].printinfo();
i++;
}else
System.out.println("未添加成功!");
}
//根据姓名查询
public void query(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要查询的员工姓名:");
String name = sc.next();
Employee.printallinfo(e,name);
}
//删除一条员工信息
public static void delete(Employee[] o){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的员工ID: ");
String id = sc.next();
for(int j=0;j<o.length;j++){
// System.out.println(o[j]);
if(o[j]!=null&o[j].getId().equals(id)){
o[j]=null;
System.out.println("删除成功!");
//覆盖删除掉的对象
for(int i=0;i<o.length-1;i++){
if(o[i]==null&o[i+1]!=null){
o[i]=o[i+1];
o[i+1]=null;
}else if(o[i]==null&o[i+1]==null)
break;
}
break;
}
}
}
public int num(){
Scanner sc = new Scanner(System.in);
System.out.print("请选择业务: ");
int a = sc.nextInt();
return a;
}
public static void menu(){
System.out.println("————————————————员工信息管理系统———————————————");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.out.println("————————————————员工信息管理系统———————————————");
}
}