1 /**日期:2016-03-092 * 功能:简单员工管理系统练习3 * 说明:因为是作为练习,其他要学的东西还有很多,所以没有花时间来编写异常的处理4 * 仅在主函数中处理了一个异常,其他的都做抛出异常处理5 */
6 packagetest;7 import java.io.*;8 import java.util.*;9 public classManageSystem {10
11 public static void main(String[] args) throwsIOException{12 //TODO Auto-generated method stub
13
14 HashMap hm=newHashMap();15 //让程序可以循环进行
16 while(true)17 {18 //功能选择
19 System.out.println("请选择要进行的操作:");20 System.out.println("1表示添加新员工");21 System.out.println("2表示显示某一员工信息");22 System.out.println("3表示显示所有员工信息");23 System.out.println("4表示修改员工薪水");24 System.out.println("5表示删除某一员工");25 System.out.println("6表示退出程序");26 //输入选择编号
27 InputStreamReader isr=newInputStreamReader(System.in);28 BufferedReader br=newBufferedReader(isr);29 int inputNum = 0;30 //异常的处理
31 try
32 {33 inputNum=Integer.parseInt(br.readLine());34 }catch(Exception e)35 {36 System.out.println("请输入整数1~6");37 e.printStackTrace();38 }39 //根据输入的数字来选择对应的功能
40 switch(inputNum)41 {42 case 1:43 AddClerk addClerk=newAddClerk();44 addClerk.add(hm);45 break;46 case 2:47 ShowInfo showInfo=newShowInfo();48 showInfo.show(hm);49 break;50 case 3:51 ShowAll showAll=newShowAll();52 showAll.show(hm);53 break;54 case 4:55 ChangeSalary changeSalary=newChangeSalary();56 changeSalary.change(hm);57 break;58 case 5:59 DeleteClerk dc=newDeleteClerk();60 dc.delete(hm);61 break;62 case 6:63 System.exit(0);64 break;65 }66 }67 }68
69 }70
71 //增加员工
72 classAddClerk73 {74 public void add(HashMap hm) throwsIOException75 {76 System.out.println("请输入要添加的员工编号:");77 InputStreamReader isr=newInputStreamReader(System.in);78 BufferedReader br=newBufferedReader(isr);79 Clerk clerk=newClerk();80 String temp=br.readLine();81 //这里作简化处理,直接将HashMap的键设置为员工的编号
82 clerk.setClerkNo(temp);83 //然后输入姓名
84 System.out.println("请输入要添加的员工姓名:");85 clerk.setName(br.readLine());86 //最后输入薪水
87 System.out.println("请输入要添加的员工薪水:");88 clerk.setSalary(Integer.parseInt(br.readLine()));89 //将设置好编号、姓名、薪水的一个Clerk添加入hm中
90 hm.put(temp,clerk);91 System.out.println("添加成功:"
92 +((Clerk)(hm.get(temp))).getClerkNo()+","
93 +((Clerk)(hm.get(temp))).getName()+","
94 +((Clerk)(hm.get(temp))).getSalary()+"\n");95 }96 }97
98 //显示某一个员工的信息
99 classShowInfo100 {101 public void show(HashMap hm) throwsIOException102 {103 System.out.println("请输入要查找的员工编号:");104 InputStreamReader isr=newInputStreamReader(System.in);105 BufferedReader br=newBufferedReader(isr);106 String temp=br.readLine();107 //判断是否含有该员工
108 if(hm.containsKey(temp))109 {110 System.out.println("该员工的信息为:"
111 +((Clerk)(hm.get(temp))).getClerkNo()+","
112 +((Clerk)(hm.get(temp))).getName()+","
113 +((Clerk)(hm.get(temp))).getSalary());114 }else
115 {116 System.out.println("没有该员工!");117 }118 System.out.println();119 }120 }121
122 //显示所有员工的信息
123 classShowAll124 {125 public voidshow(HashMap hm)126 {127 //HashMap的遍历较麻烦,需要迭代器
128 Iterator it=hm.keySet().iterator();129 int i=1;130 while(it.hasNext())131 {132 String key=it.next().toString();133 Clerk clerk=(Clerk)hm.get(key);134 System.out.println("第"+i+"个员工的信息为:"
135 +clerk.getClerkNo()+","
136 +clerk.getName()+","
137 +clerk.getSalary());138 i++;139 }140 System.out.println();141 }142 }143
144 //修改某一个员工的薪水
145 classChangeSalary146 {147 public void change(HashMap hm) throwsIOException148 {149 System.out.println("请输入要修改的员工编号:");150 InputStreamReader isr=newInputStreamReader(System.in);151 BufferedReader br=newBufferedReader(isr);152 String temp=br.readLine();153 if(hm.containsKey(temp))154 {155 //先显示出该员工的薪水
156 System.out.println("该员工当前薪水为:"+((Clerk)(hm.get(temp))).getSalary());157 System.out.println("请输入新的薪水:");158 //然后输入新的薪水
159 int inputNum=Integer.parseInt(br.readLine());160 //将该员工的薪水设置为新输入的薪水
161 ((Clerk)(hm.get(temp))).setSalary(inputNum);162 //输入修改后的该员工的信息
163 System.out.println("修改后员工的信息为:"
164 +((Clerk)(hm.get(temp))).getClerkNo()+","
165 +((Clerk)(hm.get(temp))).getName()+","
166 +((Clerk)(hm.get(temp))).getSalary());167 }else
168 {169 System.out.println("没有该员工!");170 }171 System.out.println();172 }173 }174
175 //删除一个员工
176 classDeleteClerk177 {178 public void delete(HashMap hm) throwsIOException179 {180 System.out.println("请输入要删除的员工编号:");181 InputStreamReader isr=newInputStreamReader(System.in);182 BufferedReader br=newBufferedReader(isr);183 String temp=br.readLine();184 if(hm.containsKey(temp))185 {186 //将该员工的Clerk对象从hm中删除
187 hm.remove(temp);188 System.out.println("已删除该员工!");189 }else
190 {191 System.out.println("没有该员工!");192 }193 System.out.println();194 }195 }196
197 //创建Clerk类
198 classClerk199 {200 privateString clerkNo;201 privateString name;202 private intsalary;203
204 publicString getClerkNo() {205 returnclerkNo;206 }207 public voidsetClerkNo(String clerkNo) {208 this.clerkNo =clerkNo;209 }210 publicString getName() {211 returnname;212 }213 public voidsetName(String name) {214 this.name =name;215 }216 public intgetSalary() {217 returnsalary;218 }219 public void setSalary(intsalary) {220 this.salary =salary;221 }222 }