1.测试类
package com.hzyc.homework;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
/*员工信息管理系统
当有新员工的时候将员工加入到管理系统
可以根据工号实现对该员工信息查询
可以现实查看所有员工信息
可以修改员工的薪水
当员工离职时,可以删除员工信息从管理系统中
可以按照员工薪水从低到高排序
可以统计员工的平均工资和最低最高工资
*/
boolean bol = true;
Scanner scan = new Scanner(System.in);
Tools tool = new Tools();
while(bol){
System.out.println("欢迎进入员工管理系统");
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.按照员工薪水从低到高排序---------------------");
System.out.println("--------------------7.统计员工的平均工资和最低最高工资---------------------");
System.out.println("--------------------8.退出---------------------");
int i =scan.nextInt();
switch(i){
case 1:
tool.add();
break;
case 2:
tool.check();
break;
case 3:
tool.allCheck();
break;
case 4:
tool.update();
break;
case 5:
tool.delete();
break;
case 6:
tool.rank(0, tool.aList.size()-1);
tool.allCheck();
break;
case 7:
tool.statisticsSalary();
break;
case 8:
System.out.println("欢迎使用,已退出");
bol=false;
}
}
}
}
2.实体类
package com.hzyc.homework;
public class Emp {
private int id=0;//员工号
private String name=null;//名字
private float sal=0;//工资
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getSal() {
return sal;
}
public void setSal(float sal) {
this.sal = sal;
}
}
3.工具类
package com.hzyc.homework;
import java.util.ArrayList;
import java.util.Scanner;
public class Tools {
Scanner scan = new Scanner(System.in);
//成员属性
ArrayList aList = null;
//构造方法:初始化 不断创造新对象
public Tools()
{
aList = new ArrayList();//注意写法!!
}
//1.添加员工信息
public void add() {
for(int i=1;i<=3;i++){
Emp emp = new Emp();
System.out.println("请输入员工的id");
emp.setId(scan.nextInt());
System.out.println("请输入员工姓名");
emp.setName(scan.next());
System.out.println("请输入员工工资");
emp.setSal(scan.nextFloat());
aList.add(emp);//储存员工信息
}
}
//2.根据工号实现对该员工信息查询
public void check(){
System.out.println("2.根据工号实现对该员工信息查询");
System.out.println("请输入员工编号");
Emp emp1 = (Emp)aList.get(scan.nextInt()-1);
System.out.println(emp1.getId()+" "+emp1.getName()+" "+emp1.getSal());
}
//3.查看所有员工信息
public void allCheck() {
System.out.println("3.查看所有员工信息");
for(int i = 0; i<=aList.size()-1; i++){
Emp emp3 = (Emp)aList.get(i);
System.out.println(emp3.getId()+" "+emp3.getName()+" "+emp3.getSal());
}
}
//4.修改员工的薪水
public void update() {
System.out.println("4.修改员工的薪水");
System.out.println("请输入员工编号");
int id = scan.nextInt();
Emp emp4 = (Emp)aList.get(id-1);
System.out.println(emp4.getId()+" "+emp4.getName()+" "+emp4.getSal());
System.out.println("请输入修改后的工资");
emp4.setSal(scan.nextInt());
aList.set(id-1, emp4);//修改后所储存的信息
}
//5.删除员工信息
public void delete() {
System.out.println("5.删除员工信息。----请输入员工编号:");
int id = scan.nextInt();
Emp emp5 = (Emp)aList.get(id-1);
System.out.println(emp5.getId()+" "+emp5.getName()+" "+emp5.getSal());
System.out.println("确认删除请输入:y");
if("y".endsWith(scan.next())){
aList.remove(id-1);
}else{
System.out.println("请合法输入");
}
}
//6.按照员工薪水从低到高排序
public void rank(int left, int right)
{
int i = left;
int j = right;
if(i < j)//递归结束条件
{
Emp emp = (Emp)aList.get(left);
float key = emp.getSal();
System.out.println("key:"+key);
while(i<j)//一趟快速排序
{
while(i<j && ((Emp)aList.get(j)).getSal() >= key)
{
j--;
}
if(i<j)
package com.hzyc.homework;
import java.util.ArrayList;
import java.util.Scanner;
/**
* @author xzt
*
*/
public class Tools {
Scanner scan = new Scanner(System.in);
//成员属性
ArrayList aList = null;
//构造方法:初始化 不断创造新对象
public Tools()
{
aList = new ArrayList();//注意写法!!
}
//1.添加员工信息
public void add() {
for(int i=1;i<=3;i++){
Emp emp = new Emp();
System.out.println("请输入员工的id");
emp.setId(scan.nextInt());
System.out.println("请输入员工姓名");
emp.setName(scan.next());
System.out.println("请输入员工工资");
emp.setSal(scan.nextFloat());
aList.add(emp);//储存员工信息
}
}
//2.根据工号实现对该员工信息查询
public void check(){
System.out.println("2.根据工号实现对该员工信息查询");
System.out.println("请输入员工编号");
Emp emp1 = (Emp)aList.get(scan.nextInt()-1);
System.out.println(emp1.getId()+" "+emp1.getName()+" "+emp1.getSal());
}
//3.查看所有员工信息
public void allCheck() {
System.out.println("3.查看所有员工信息");
for(int i = 0; i<=aList.size()-1; i++){
Emp emp3 = (Emp)aList.get(i);
System.out.println(emp3.getId()+" "+emp3.getName()+" "+emp3.getSal());
}
}
//4.修改员工的薪水
public void update() {
System.out.println("4.修改员工的薪水");
System.out.println("请输入员工编号");
int id = scan.nextInt();
Emp emp4 = (Emp)aList.get(id-1);
System.out.println(emp4.getId()+" "+emp4.getName()+" "+emp4.getSal());
System.out.println("请输入修改后的工资");
emp4.setSal(scan.nextInt());
aList.set(id-1, emp4);//修改后所储存的信息
}
//5.删除员工信息
public void delete() {
System.out.println("5.删除员工信息。----请输入员工编号:");
int id = scan.nextInt();
Emp emp5 = (Emp)aList.get(id-1);
System.out.println(emp5.getId()+" "+emp5.getName()+" "+emp5.getSal());
System.out.println("确认删除请输入:y");
if("y".endsWith(scan.next())){
aList.remove(id-1);
}else{
System.out.println("请合法输入");
}
}
//6.按照员工薪水从低到高排序
public void rank(int left, int right)
{
int i = left;
int j = right;
if(i < j)//递归结束条件
{
Emp emp = (Emp)aList.get(left);
float key = emp.getSal();
System.out.println("key:"+key);
while(i<j)//一趟快速排序
{
while(i<j && ((Emp)aList.get(j)).getSal() >= key)
{
j--;
}
if(i<j)
{
aList.set(i,aList.get(j));
i++;
}
while(i<j && ((Emp)aList.get(i)).getSal() <= key)
{
i++;
}
if(i<j)
{
aList.set(j, aList.get(i));
}
}
aList.set(i, emp);
rank(left, i-1);
rank(i+1, right);
}
}
//统计员工的平均工资、最高工资和最低工资
public void statisticsSalary()
{
float totalSal = 0;
float minSal = ((Emp)aList.get(0)).getSal();
float maxSal = ((Emp)aList.get(0)).getSal();
for(int i=0; i<aList.size(); i++)
{
Emp emp = (Emp)aList.get(i);
totalSal += emp.getSal();
if(minSal > emp.getSal())
{
minSal = emp.getSal();
}
if(maxSal < emp.getSal())
{
maxSal = emp.getSal();
}
}
System.out.println(aList.size()+"个人平均工资的薪资为:"+totalSal/aList.size());
System.out.println(aList.size()+"个人的最低薪资为:"+minSal);
System.out.println(aList.size()+"个人的最高薪资为:"+maxSal)
}
}