主要想练习一下ArrayList
利用面向对象的思想设计一个员工管理系统。要求属性有:员工号,员工姓名,员工工资。
要求1:可以加入员工。
要求2:可以显示员工相关信息。
要求3:可以显示所有员工信息。
要求4:可以修改员工工资。
要求5:可以删除员工。
package one;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner cin = new Scanner(System.in);
Amn amn = new Amn(new ArrayList<Staff>());
System.out.println("请选择你要进行的操作");
System.out.println("1:表示添加一个雇员");
System.out.println("2:查找一个雇员");
System.out.println("3:查看所有雇员");
System.out.println("4:修改一个雇员工资");
System.out.println("5:删除一个雇员");
System.out.println("6:退出");
while (true) {
String operType = cin.nextLine();
if (operType.equals("1"))
{
System.out.println("请输入员工号");
String num=cin.nextLine();
System.out.println("请输入名字");
String name = cin.nextLine();
System.out.println("请输入工资");
int money = cin.nextInt();
amn.add(num, name, money); //添加
}else if (operType.equals("2"))
{
System.out.println("请输入员工号");
String num= cin.nextLine();
amn.search(num).print(); //显示单个员工信息
}else if (operType.equals("3"))
{
amn.count(); //显示全体员工信息
}else if (operType.equals("4"))
{
System.out.println("请输入员工号");
String num=cin.nextLine();
System.out.println("请输入修改的工资");
int money = cin.nextInt();
amn.fff(num,money); //修改员工工资
}else if (operType.equals("5"))
{
System.out.println("请输入员工号");
String num=cin.nextLine();
amn.delete(amn.search(num));
}
else if (operType.equals("6"))
{
System.out.println("退出系统");
//退出系统
System.exit(0);
}
}
}
}
package one;
import java.util.ArrayList;
/*
请选择你要进行的操作
表示添加一个雇员
查找一个雇员
查看所有雇员
修改一个雇员工资
删除一个雇员
*/
public class Amn {
private ArrayList<Staff> arl ;
private Staff staff;
private int cnt = 0; //员工个数
public Amn(ArrayList<Staff> s)
{
this.arl = s;
}
public void add(String num,String name,int money) //加入员工
{
arl.add(new Staff(num,name,money));
cnt++;
System.out.println("添加成功");
}
public Staff search(String str) //搜索员工号
{
for(int i=0;i<cnt;i++)
{
this.staff = arl.get(i);
if(staff.getnum().equals(str))
{
System.out.println("找到该员工");
return staff;
}
}
return null;
}
public void print(String str) //打印单个员工信息
{
staff = search(str);
if(staff==null)
{
System.out.println("没有找到该员工");
}
else
{
staff.print();
}
}
public void count() //打印全体员工信息
{
for(int i=0;i<cnt;i++)
{
staff = arl.get(i);
staff.print();
}
}
public void fff(String str,int x) //修改工资
{
search(str).setmoney(x);
System.out.println("修改成功");
}
public void delete(Staff staff) //删除员工
{
arl.remove(staff);
cnt--;
System.out.println("删除成功");
}
}
package one;
/*
* 员工类
* 要求属性有:员工号,员工姓名,员工工资
*/
public class Staff {
private String num; //员工号
private String name; //员工姓名
private int money; //员工工资
public Staff(String num,String name,int money) //构造函数
{
this.num = num;
this.name = name;
this.money = money;
}
public void setname(String name) //修改名字
{
this.name = name;
}
public void setnum(String num) //修改员工号
{
this.num = num;
}
public void setmoney(int money) //修改工资
{
this.money = money;
}
public String getname() //得到名字
{
return name;
}
public String getnum() //得到员工号
{
return num;
}
public int getmoney() //得到工资
{
return money;
}
public void print() //打印自身所有信息
{
System.out.println("该员工的工号:"+this.num);
System.out.println("该员工的姓名:"+this.name);
System.out.println("该员工的薪水:"+this.money);
}
}
有啥问题欢迎指出,谢谢哈