超实用 2 ArrayList链表之 员工工资管理系统
package ArrayList的小程序;
import java.io.*;
import java.util.*;
public class kkk { /**
* 作者:Mr.fan
* 功能:展示一个小的ArrayList链表的 员工工资记录系统
*/
public static void main(String[] args)throws Exception
{
//创建EmpManage对象
EmpManage em=new EmpManage();
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:退出系统");
System.out.println("6:显示出所有员工的信息"); 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 gaiNO=br.readLine();
System.out.println("请输入修改后工资:");
float gaiSAL=Float.parseFloat(br.readLine());
em.updateSal(gaiNO,gaiSAL);
}
else if(operType.equals("4"))
{
System.out.println("请输入要删除员工的编号:");
String NOdel=br.readLine();
em.delEmp(NOdel);
}
else if(operType.equals("5"))
{
//退出系统
System.exit(0);
}
else if(operType.equals("6"))
{
ArrayList nx=em.getal();
for(int i=0;i<nx.size();i++)
{
//取出Emp对象
Emp emp=(Emp)nx.get(i); System.out.print("编号="+emp.getEmpNo());
System.out.print(" 名字="+emp.getName());
System.out.print(" 工资="+emp.getSal());
System.out.println("\n"); }
}
}
} }
//采用面向对象 封装思想 来建造一个雇员管理类
class EmpManage
{
/*封装思想都会采用 保护 */ private ArrayList al=null;
public EmpManage()//构造
{
al=new ArrayList();
}
//加入员工
public void addEmp(Emp emp)
{
al.add(emp);
}
//显示员工的相关信息
public void showInfo(String empNo)
{
//遍历整个ArrayList
for(int i=0;i<al.size();i++)
{
//取出Emp对象
Emp emp=(Emp)al.get(i);
//比较编号
if(emp.getEmpNo().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<al.size();i++)
{
Emp emp=(Emp)al.get(i);
if(emp.getEmpNo().equals(empNo))
{
//修改薪水
emp.setSal(newSal);
}
}
}
public void delEmp(String empNo)
{
for(int i=0;i<al.size();i++)
{
Emp emp=(Emp)al.get(i);
if(emp.getEmpNo().equals(empNo))
{
al.remove(i);
}
}
}
public ArrayList getal()
{
return al;
}
}
class Emp
{ private String empNo;
private String name;
private float sal;
public Emp(String empNo,String name,float sal)
{
this.empNo=empNo;
this.name=name;
this.sal=sal;
}
public String getEmpNo() {
return empNo;
}
public void setEmpNo(String empNo) {
this.empNo = empNo;
}
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;
}
}
超实用 2 ArrayList链表之 员工工资管理系统的更多相关文章
- 超实用 1 ArrayList 链表
package ArrayList链表; import java.util.*; public class kk1 { /** * 作者:Mr.Fan * 功能:记住ArrayList链表 */ pu ...
- 职工工资管理系统 --C语言
#include<stdio.h> #include<string.h> #include<stdlib.h> #define NUM 1000 void ente ...
- jQuery实现的3个基础案例(仿QQ列表分组,二级联动下拉框,模拟员工信息管理系统)
1.仿QQ列表分组 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type&quo ...
- Python作业工资管理系统(第三周)
作业内容: 实现效果: 从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息也写入原info.txt文件. 效果演示: 1. 查询员工工资 2. 修改员工工资 3. 增加新员工 ...
- 4_python之路之模拟工资管理系统
python之路之模拟工资管理系统 1.程序说明:Readme.txt 1.程序文件:salary_management.py info.txt 2.程序文件说明:salary_management. ...
- qt项目:员工信息管理系统
开发一个员工信息管理系统 一.项目具体要求: 1.用qt开发界面,数据库用QSqlite 数据库文件名:demostudent.db 2.通过界面能够查看到数据库中员工信息表中内容,包括员工姓名.年龄 ...
- HR开发 读取员工工资
1.使用函数读取员工工资. ①数据结构工资结果 DATA: GT_RGDIR TYPE TABLE OF PC261 , GS_RGDIR TYPE PC261 , GT_PAYRESULT TYPE ...
- Python 员工信息管理系统
学Python将近一个月了,第一次写了两百多行代码,一个很简单的脚本. 员工信息管理系统: 需求: 1.管理员账户能够增加,删除,修改,查询员工信息,并且设置管理员账户. 2.普通账户可以查看所有员工 ...
- C 计算员工工资
#include <stdio.h> int main(int argc, char **argv) { //定义四个变量 g每小时固定的工资 40 固定工作时间 pay工资 hours员 ...
随机推荐
- Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程
Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程 一:前言 最近手上压了一块米联客的Miz7035,一块xilinx zynq-7000系列的开发板,想着正好学习一下linu ...
- 【转】使用nginx搭建高可用,高并发的wcf集群
原文:http://www.cnblogs.com/huangxincheng/p/7707830.html 很多情况下基于wcf的复杂均衡都首选zookeeper,这样可以拥有更好的控制粒度,但zk ...
- fixed fluid layout
<div id="fixed">Sidebar</div> <div id="fluid">Content</div& ...
- BZOJ1068_压缩_KEY
题目传送门 区间DP,设f[i][j][0/1]为i~j区间的压缩情况,1表示在插入了一个M. code: /********************************************* ...
- dos下edit编辑器的快捷命令一览
Home Move cursor to the beginning of the line currently on. End Move cursor to the end of the line c ...
- linux 之 jq
1.安装 mac 安装: brew install jq centos 安装: yum install jq ubuntu: 安装: apt-get install jq 2.使用 cat test. ...
- 【RAC搭建报错】You need disks from at least two different failure groups, excluding quorum disks and quorum failure groups, to create a Disk Group with normal redundancy
报错: You need disks from at least two different failure groups, excluding quorum disks and quorum fai ...
- ncl 函数源码 gc_inout
转自气象家园论坛 经过不懈努力,终于找到了gc_inout函数的源代码,原来在这个文件里面!一颗赛艇 位置:/ncl_ncarg-6.5.0-src/ni/src/lib/nfpfort/sg_too ...
- 13-调试Dockerfile
包括 Dockerfile 在内的任何脚本和程序都会出错.有错并不可怕,但必须有办法排查,所以本节讨论如何 debug Dockerfile. 先回顾一下通过 Dockerfile 构建镜像的过程: ...
- UnityEditor扩展-Shader浏览器
1. 用途 用于浏览项目所有Shader被使用的情况 2. 界面说明 Ignore Directory:添加不搜索的文件夹,不添加默认搜索全部 Find按钮:开始搜索 Used Shaders:已被使 ...