⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 staffmis.java

📁 一个课程设计中经常出现的题目 职工管理系统 有助于初学者学习
💻 JAVA
字号:
import java.util.*;
import java.io.*;

public class StaffMis {

    public StaffMis() {
    }
    public static void main(String[] args){
    	 Staff s=new Staff();
    	 StaffManage a=new StaffManage();
    	 a.showMenu(s);
    }
}

class StaffInfo implements Serializable{ //职工信息类,存放职工的信息
	int id; 
	String name; 
	String sex;
	int age;
	
	public StaffInfo(){
		id=0;
		name="null";
		sex="null";
		age=0;
	}
	public StaffInfo(int i,String n,String s,int a){
		id=i;
		name=n;
		sex=s;
		age=a;
	}
	public void setId(int i){
		id=i;
	}
	public void setName(String n){
		name=n;	
	}
	
	public void setSex(String s){
		sex=s;
	}
	public void setAge(int a){
		age=a;
	}
	public int getId(){
		return id;
	}
	public String getName(){
		return name;
	}
	public String getSex(){
		return sex;
	}
	public int getAge(){
		return age;
	}
	
}

class Staff{
	ArrayList staffList;
	public Staff(){
		try{
			FileInputStream inf=new FileInputStream("data.dat");
			if(inf.available()>0){
				ObjectInputStream objectInput=new ObjectInputStream(inf);
				staffList=(ArrayList)objectInput.readObject();
				objectInput.close();
			}else{
				staffList=new ArrayList();
			}
		}catch(FileNotFoundException e){
			System.out.println("出错啦!");
		}catch(ClassNotFoundException e){
			System.out.println("class not found");
		}catch(IOException e){
			System.out.println("kkk");
		}catch(Exception e){
		}
	}
	
	public void addStaff(int i,String n,String s,int a){
		staffList.add(new StaffInfo(i,n,s,a));
	}
	
	public int searchStaff(int n){
		int i=0;
		Iterator iter=staffList.iterator();
		while(iter.hasNext()){
			StaffInfo s=(StaffInfo)iter.next();
			if(s.id==n)
				return i;
			i++;
		}
		return -1;
	}
	
	public void deleteStaff(int n){
		staffList.remove(n);
	}
	
	public void printStaff(int n){
		StaffInfo s=(StaffInfo)staffList.get(n);
		System.out.println(s.id+"\t"+s.name+"\t"+s.sex+"\t"+s.age);
	}
	
	public void printStaffs(){
		for(Object ob:staffList){
			StaffInfo s=(StaffInfo)ob;
			System.out.println(s.id+"\t"+s.name+"\t"+s.sex+"\t"+s.age);
		}
	}
	
	public void saveStaff(){
		try{
			ObjectOutputStream objectOutput=new ObjectOutputStream(new FileOutputStream("data.dat"));
			objectOutput.writeObject(staffList);
			objectOutput.close();
		}catch(Exception e){
		}
	}
}

class StaffManage {
	//主菜单
	void showMenu(Staff s){
		final BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
   		
		int choice=0;

		do{
			System.out.println("\n\n");
			System.out.println("☆★☆★☆★☆ 数学与计算科学系0633061班 刘备设计 ★☆★☆★☆\n");
			System.out.println("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"); 
			System.out.println("┃************     职工管理系统主菜单界面       **************┃");
    		System.out.println("┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫");
    		System.out.println("┃★ ★ ★ ★        ①.输入职工信息             ★ ★ ★ ★┃");
    		System.out.println("┃★ ★ ★             ②.浏览职工信息                ★ ★ ★┃");
    		System.out.println("┃★ ★ ★             ③.查找职工信息                ★ ★ ★┃");
    		System.out.println("┃★ ★ ★             ④.删除职工信息                ★ ★ ★┃");
    		System.out.println("┃★ ★ ★            ⑤.安全退出系统                ★ ★ ★┃");
    		System.out.println("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");
    		System.out.print(" 请输入您的选择(1--5):"); 
    		try{
    			choice=Integer.parseInt(br.readLine()); 
    		}catch(IOException e){
    		}   		
    		switch(choice){
    			case 1:creat(s);break;
    			case 2:browse(s);break; 
    			case 3:search(s);break;
    			case 4:delete(s);break;
    			case 5:exit(s);break;
    			default:
    				System.out.println("你的输入有误");
       		}
		}while(choice>-1);
	}
	
	//增加(建立)职工信息
	void creat(Staff s) {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
   		System.out.print("工号:");
		int i=-1;
		try{
			i=Integer.parseInt(br.readLine());
		}catch(IOException e){
		}
		if(s.searchStaff(i)>=0)
			System.out.println("该工号已存在!");
		else{
			try{
				System.out.print("姓名:");
				String n=br.readLine();
				System.out.print("性别:");
				String se=br.readLine();
				System.out.print("年龄:");
				int a=Integer.parseInt(br.readLine());
				s.addStaff(i,n,se,a);
			}catch(IOException e){
			}			
		}
	}
	
	//浏览职工信息
	void browse(Staff s){
		System.out.println("--------------------------------------------------------------");
   		System.out.println("                        *员工信息表*                          ");
   		System.out.println("--------------------------------------------------------------"); 
   		System.out.println("工号\t姓名\t性别\t年龄");
   		System.out.println("--------------------------------------------------------------"); 
   		if(s.staffList.size()==0)
   			System.out.println("没有员工信息!");
   		else
   			s.printStaffs();
   	}
   	
   	//实现职工信息的查询功能的模块
	void search(Staff s){
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		System.out.print("\n请输入您要查找的职工工号: ");
		int id=-1;
		try{
			id=Integer.parseInt(br.readLine());
		}catch(IOException e){
		}
			
		int i=s.searchStaff(id);
		if(i==-1)
			System.out.println("对不起,查无此人!");
		else{
			System.out.println("----------------------------------------------------------------");
   			System.out.println("                         *员工信息表*                           ");
   			System.out.println("----------------------------------------------------------------"); 
   			System.out.println("工号\t姓名\t性别\t年龄");
   			System.out.println("----------------------------------------------------------------");   
			s.printStaff(i);
		}
    }
    
    void delete(Staff s){
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		System.out.print("\n请输入您要删除的职工工号: ");
		int id=-1;
		try{
			id=Integer.parseInt(br.readLine());
		}catch(IOException e){
		}
			
		int i=s.searchStaff(id);
		if(i==-1)
			System.out.println("对不起,查无此人!");
		else
			s.deleteStaff(i);
	}
	
	public void exit(Staff s){
		s.saveStaff();
		System.exit(0);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -