java实现工资管理系统,员工管理系统javaweb
在标准版中,对超正析象管(图片Orthicon)流与集合的操作在应用中比较重要。接下来,我以一个小型项目的形式,演示超正析象管(图片Orthicon)流、集合等知识点在实践中的运用。
该项目名称为"员工信息管理系统"(或"员工收录系统"),主要是通过输入员工的身份证,姓名信息,实现简单的增删改查功能。
该项目主要在磁盘操作系统窗口的控制台或者黯然失色的控制台上进行操作。操作界面如下:
该项目的文件结构如下:
Step 1:
入口类系统主界面的代码为:
包empsystem导入Java。util。扫描仪;/*** 主界面* 一个扫描仪录入对象*雇佣类* 文件路径* 查重SearchID * @作者李章勇* */public class system main { private Scanner sc=new Scanner(system。在);public system main(){ show welcome();} public void show welcome(){ system。出去。println(-员工收录系统);System.out.println(1 .增加员工功能);System.out.println(2 .查看员工功能);System.out.println(3 .修改员工功能);System.out.println(4 .删除员工功能);System.out.println(5 .退出系统);字符串选择=sc。next line();开关(选择){案例 1 :系统。出去。println(您选择了增加用户功能);//添加新的Add();打破;案例2:System.out.println(您选择了查看用户功能);//搜索新的ShowEmp();打破;案例3:System.out.println(您选择了修改用户功能);//Modify new Modify();打破;案例4:System.out.println(您选择了删除用户功能);//删除用户Delete new Delete();打破;案例 5:System.out.println(您选择了退出系统);返回;default:System.out.println(无此功能);打破;}显示欢迎();}公共静态void main(String[]args){ new system main();} }Step 2:
写文件路径文件路径接口。
包empsystem公共接口文件路径{ public static final String PATH _ NAME= EMP。em’;}Step 3:
写员工类雇用.
包empsystem导入Java。io。可序列化;/*** id,name* @author李章勇* */公共类雇佣实现可序列化的{私有int id私有字符串名称;public Employ(){ } public Employ(int id,String name){ super();this . id=id this . name=name } public int getId(){ return id;} public void setId(int id){ this。id=id} public String getName(){ return name;} public void set name(String name){ this。name=名称;} @将公共字符串重写为String(){ return Employ[id= id ,name= name ] n ;} }Step 4:
根据身份查找员工的类SearchID。
包empsystem导入Java。io。文件;导入Java。io。文件输入流;导入Java。io。filenotfoundexception导入Java。io。io异常;导入Java。io。objectinputstream导入java.util.ArrayL
ist;import java.util.List;/*** 根据Id查找员工* @author 李章勇**/public class SearchID {private SearchID(){}public static Employ searchId(int id){File file=new File(FilePath.PATH_NAME);if(file.exists()){try {ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));try {ArrayList<Employ> ems=(ArrayList<Employ>) ois.readObject();ois.close();for(int i=0;i<ems.size();i++){if(id==ems.get(i).getId()){return ems.get(i);}}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else{return null;}return null;}}Step 5:
接下来是增,查,改,删的类,分别是Add类,ShowEmp类, Modify类,Modify类。
(1)
package empsystem;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.Scanner;/*** 一个输入器对象Scanner* 文件* 集合对象ArrayList* @author 李章勇**/public class Add {private Scanner sc=new Scanner(System.in);private File file=new File(FilePath.PATH_NAME);private ArrayList<Employ> ems;public Add() {if(file.exists()){try {ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));try {ems=(ArrayList<Employ>) ois.readObject();ois.close();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else{ems=new ArrayList<Employ>();}if(ems!=null){add();}else{System.out.println("系统内部问题,无法操作");return;}}public boolean checkNum(String idStr){//检测输入格式if(idStr==null idStr.equals("")){System.out.println("非法输入,重来");return false;}char[] cs=idStr.toCharArray();for(int i=0;i<cs.length;i++){if(cs[i]<0 cs[i]>9){System.out.println("输入非法,重来");return false;}}return true;}private String idStr;public int getRightNum(){idStr=sc.nextLine();if(!checkNum(idStr)){getRightNum();}int id=Integer.parseInt(idStr);return id;}public void askGoOn(){System.out.println("请问是否继续录入?Y/N");String choice=sc.nextLine();if("Y".equalsIgnoreCase(choice)){add();}else if("N".equalsIgnoreCase(choice)){//保存到文件saveToFile();return;}else{System.out.println("无此命令,请重新选择!");askGoOn();}}public void saveToFile(){try {ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));oos.writeObject(ems);oos.close();//测试打印查看System.out.println("添加成功");System.out.println(ems);return;} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void add(){System.out.println("请输入用户ID:");//返回整数int id=getRightNum();for(int i=0;i<ems.size();i++){if(id==ems.get(i).getId()){System.out.println("id已存在,请重新输入");add();}}System.out.println("请输入员工姓名:");String name=sc.nextLine();Employ em=new Employ(id,name);ems.add(em);//询问是否继续录入askGoOn();}}
(2)
package empsystem;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.ObjectInputStream;import java.util.ArrayList;import java.util.Scanner;/*** 一个输入器对象Scanner* 文件* 集合对象ArrayList* @author 李章勇**/public class ShowEmp {private Scanner sc=new Scanner(System.in);private File file=new File(FilePath.PATH_NAME);private ArrayList<Employ> ems;public ShowEmp() {if(file.exists()){try {ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));try {ems=(ArrayList<Employ>) ois.readObject();ois.close();if(ems!=null){show();}else{System.out.println("系统内部问题,无法操作");return;}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else{System.out.println("数据文件不存在,无法查看");return;}}public boolean checkNum(String idStr){//检测输入格式if(idStr==null idStr.equals("")){System.out.println("非法输入,重来");return false;}char[] cs=idStr.toCharArray();for(int i=0;i<cs.length;i++){if(cs[i]<0 cs[i]>9){System.out.println("输入非法,重来");return false;}}return true;}private String idStr;public int getRightNum(){idStr=sc.nextLine();if(!checkNum(idStr)){getRightNum();}int id=Integer.parseInt(idStr);return id;}public void show(){System.out.println("查看全部员工输入Y,查看单个员工输入N");String choice=sc.nextLine();if("Y".equalsIgnoreCase(choice)){System.out.println(ems);return;}else if("N".equalsIgnoreCase(choice)){System.out.println("请输入要查询的员ID:");int id=getRightNum();if(SearchID.searchId(id)!=null){System.out.println("您查找的员工信息为:n"+SearchID.searchId(id));return;}else{System.out.println("无此用户");return;}}else{System.out.println("无此命令,请重新选择!");show();}}}
(3)
package empsystem;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.Scanner;/*** 一个输入器对象Scanner* 文件* 集合对象ArrayList* @author 李章勇**/public class Modify {private Scanner sc=new Scanner(System.in);private File file=new File(FilePath.PATH_NAME);private ArrayList<Employ> ems;public Modify() {if(file.exists()){try {ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));try {ems=(ArrayList<Employ>) ois.readObject();ois.close();if(ems!=null){modify();}else{System.out.println("系统内部问题,无法操作");return;}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else{System.out.println("数据文件不存在,无法查看");return;}}public boolean checkNum(String idStr){//检测输入格式if(idStr==null idStr.equals("")){System.out.println("非法输入,重来");return false;}char[] cs=idStr.toCharArray();for(int i=0;i<cs.length;i++){if(cs[i]<0 cs[i]>9){System.out.println("输入非法,重来");return false;}}return true;}private String idStr;public int getRightNum(){idStr=sc.nextLine();if(!checkNum(idStr)){getRightNum();}int id=Integer.parseInt(idStr);return id;}public void saveToFile(){try {ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));oos.writeObject(ems);oos.close();//测试打印查看System.out.println("修改成功");System.out.println(ems);return;} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void modify(){System.out.println("请输入要修改的用户ID:");int id=getRightNum();if(SearchID.searchId(id)!=null){System.out.println("修改前用户的姓名为:"+SearchID.searchId(id).getName());System.out.println("请输入修改后的姓名:");String name=sc.nextLine();for(int i=0;i<ems.size();i++){if(id==ems.get(i).getId()){ems.get(i).setName(name);saveToFile();}}}else{System.out.println("无此用户");return;}}}
(4)
package empsystem;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.Iterator;import java.util.Scanner;/*** 一个输入器对象Scanner* 文件* 集合对象ArrayList* @author 李章勇**/public class Delete {private Scanner sc=new Scanner(System.in);private File file=new File(FilePath.PATH_NAME);private ArrayList<Employ> ems;public Delete() {if(file.exists()){try {ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));try {ems=(ArrayList<Employ>) ois.readObject();ois.close();if(ems!=null){delete();}else{System.out.println("系统内部问题,无法操作");return;}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else{System.out.println("数据文件不存在,无法查看");return;}}public boolean checkNum(String idStr){//检测输入格式if(idStr==null idStr.equals("")){System.out.println("非法输入,重来");return false;}char[] cs=idStr.toCharArray();for(int i=0;i<cs.length;i++){if(cs[i]<0 cs[i]>9){System.out.println("输入非法,重来");return false;}}return true;}private String idStr;public int getRightNum(){idStr=sc.nextLine();if(!checkNum(idStr)){getRightNum();}int id=Integer.parseInt(idStr);return id;}public void saveToFile(){try {ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));oos.writeObject(ems);oos.close();System.out.println("删除成功");//测试打印查看System.out.println(ems);return;} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void delete(){System.out.println("请输入要删除的员工ID:");int id=getRightNum();if(SearchID.searchId(id)!=null){System.out.println("删除前用户的姓名为:"+SearchID.searchId(id).getName());Iterator<Employ> it=ems.iterator();while(it.hasNext()){Employ em=it.next();if(id==em.getId()){it.remove();saveToFile();}}}else{System.out.println("无此用户");return;}}}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。