集合类 ArrayList实现公司职员薪水管理
2024-08-28 17:02:52
package com.test; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList; public class test2 {
public static void main(String[] args) throws IOException{
//创建EmpManage对象
EmpManage em=new EmpManage();
//引入IO流
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//作出一个简易菜单
while(true){
System.out.println("请选择你要进行的操作:");
System.out.println("1:表示添加一个雇员");
System.out.println("2:查找一个雇员");
System.out.println("3:修改一个雇员工资");
System.out.println("4:删除一个雇员");
System.out.println("5:退出系统"); String operType=br.readLine(); if(operType.equals("1")){
System.out.println("请输入编号:");
String empNo=br.readLine();
System.out.println("请输入名字:");
String name=br.readLine();
System.out.println("请输入工资:");
Float sal=Float.parseFloat(br.readLine());
//构造对象
Emp emp=new Emp(empNo,name,sal); em.addEmp(emp);
}
else if(operType.equals("2")){
System.out.println("请输入一个编号:");
String empNo=br.readLine();
em.showinfo(empNo);
}
else if(operType.equals("3")){
System.out.println("请输入一个编号:");
String empNo=br.readLine();
System.out.println("请输入修改后的工资:");
Float sal=Float.parseFloat(br.readLine());
Float newSal=Float.parseFloat(br.readLine());
em.updateSal(empNo, newSal);
}
else if(operType.equals("4")){
System.out.println("请输入一个编号:");
String empNo=br.readLine();
em.delEmp(empNo);
}
else if(operType.equals("5")){
System.exit(-1);
}
} } } //雇员管理类
class EmpManage{
private ArrayList a=null;
//构造函数(初始化成员变量)
public EmpManage(){
a=new ArrayList();
}
//加入员工
public void addEmp(Emp emp){
a.add(emp);
}
//显示员工的相关信息
public void showinfo(String empNo){
//遍历整个ArrayList
for(int i=0;i<a.size();i++){
//取出Emp对象
Emp emp=(Emp)a.get(i);
//比较编号!!!不能用等号,字符相等是指地址相等,.equals比较的是内容
if(emp.getNumber().equals(empNo)){
System.out.println("找到该员工,信息:");
System.out.println("编号"+empNo);
System.out.println("姓名"+emp.getName());
System.out.println("薪水"+emp.getSal()); }
}
} //修改工资
public void updateSal(String empNo,float newSal){
for(int i=0;i<a.size();i++){
Emp emp=(Emp)a.get(i);
if(emp.getNumber().equals(empNo)){
//修改工资
emp.setSal(newSal);
}
}
} //删除某个员工
public void delEmp(String empNo){
for(int i=0;i<a.size();i++){
Emp emp=(Emp)a.get(i);
if(emp.getNumber().equals(empNo)){
a.remove(i); //按编号
//a.remove(emp);
}
}
}
} //雇员类
class Emp{
private String number;
private String name;
private float sal; public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
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;
} //构造函数
public Emp(String number,String name,float sal){
this.number=number;
this.name=name;
this.sal=sal;
}
}
最新文章
- gen_server port 调用receive_match 问题
- EF 保证线程内唯一 上下文的创建
- 使用ExpandoObject来实现多个Model传送至视图
- 【BZOJ-1984】月下“毛景树” 树链剖分
- brew 更新
- comparison of floating point numbers with equality operator. possible loss of precision while rounding values
- Google的PageRank及其Map-reduce应用(日志五)
- tp5 点击刷新验证码
- python全栈学习--day11(函数高级应用)
- Day4 《机器学习》第四章学习笔记
- SQL Server进阶 遍历表的几种方法
- Mac下搭建solr搜索引擎与PHP扩展开发(下)
- 值类型和引用类型的区别,struct和class的区别
- xml转化为Dictionary
- python ddt 实现数据驱动一
- Kafka参数配置详解
- 2017ACM/ICPC Guangxi Invitational Solution
- 快速搭建微信小程序开发环境
- 微软在WPC 2015中为“伙伴们”带来了什么?
- 使用tcpdump 对nginx的access.log 非400的ip进行自动抓包
热门文章
- Oracle 复合索引设计原理——前缀性和可选性
- SVN——Jenkins自动发布
- 洛谷P3327 [SDOI2015]约数个数和(莫比乌斯反演)
- 阿里云Maven中央仓库配置
- python 3.x 学习笔记17(协程以及I/O模式)
- 1到32 数字正则 还有IP的
- <;Android Framework 之路>;Android5.1 Camera Framework(一)
- c# ExecuteScalar()
- ZBrush中平滑笔刷介绍
- Python内置数据结构之字典dict