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;
}
}

集合类 ArrayList实现公司职员薪水管理的更多相关文章

  1. 《Mysql 公司职员学习篇》 第二章 小A的惊喜

          第二章 小A的惊喜  ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...

  2. 关系网络数据可视化:3. 案例:公司职员关系图表 & 导演演员关系网络可视化

    1. 公司职员关系图表 节点和边界数据 节点是指每个节点本身的数据,代表公司职工的名称:属性(Country).分类(Category)和地区(Region,给每个节点定义的属性数据).文件必须是.c ...

  3. 《Mysql 公司职员学习篇》 第一章 小A的烦恼

    第一章  小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...

  4. C#中的集合类——ArrayList

    1.  ArrayList与数组 数组的长度不可变,元素的类型单一: ArrayList 实际上相当于一个可变长度的动态数组,由于集合中的元素都是object类型,元素的类型可以有多种了:与数组一样, ...

  5. 0121 集合类 ArrayList 的练习

    集合接口的常用方法: 1.List接口 public class Jihe { public static void main(String[] args) { ArrayList<String ...

  6. java基础集合类——ArrayList 源码略读

    ArrayList是java的动态数组,底层是基于数组实现. 1. 成员变量 public class ArrayList<E> extends AbstractList<E> ...

  7. Java集合类ArrayList循环中删除特定元素

    在项目开发中,我们可能往往需要动态的删除ArrayList中的一些元素. 一种错误的方式: <pre name="code" class="java"&g ...

  8. 【Java源码】集合类-ArrayList

    一.类继承关系 public class ArrayList<E> extends AbstractList<E> implements List<E>, Rand ...

  9. 2014年武汉的IT行情好像不太好(续):20个月过后,再看当时面试过的几个公司--武汉财富基石-崩盘,辣妈萌宝-创业失败,朋友公司转交他人管理

     2014年9月的时候,写过一篇面试的总结性质的文章,"2014年武汉的IT行情好像不太好". 原文地址:blog.csdn.net/fansunion/article/detai ...

随机推荐

  1. 构建工具系列二--Grunt

    本文地址: http://www.cnblogs.com/blackmanba/p/frontend-scaffold-grunt.html或者http://forkme.info/frontend- ...

  2. 401 - Unauthorized: Access is denied due to invalid credentials.

    solution:change application pool from ApplicationPoolIdentity to NetworkService.

  3. asp实现阿里大鱼短信API接口的方法

    阿里大鱼是阿里推出的产品,官方提供JAVA..NET.PHP等版本的SDK下载,不知为何,唯独不提供ASP版本的SDK. 不提供没关系,自己写就是了,参照官方提供的API写一个就是了. 本来以为无非是 ...

  4. java中常用的转义字符

    Day02_SHJavaTraing_4-3-2017 Java中允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量. 一.JAVA中常用的转义字符

  5. Powerpivot PowerBI相关组件下载安装(附操作截图)

    加载方式:com加载项加载方法: 点击Excel界面[文件]→[选项]→[加载项]→[COM加载项]→[转到] Excel2013加载PowerView Excel216PowerQuery不需要加载 ...

  6. C++函数的高级特性——小结

    相对于C语言,C++增加了重载(overload).内联(inline).const和virtual四种新机制. 1 重载 只能靠参数列表而不能紧靠返回值类型的不同来区分重载函数.编译器根据参数列表为 ...

  7. Laravel 5.5 项目安装报错

    错误一. [Composer\Exception\NoSslException] The openssl extension is required for SSL/TLS protection bu ...

  8. 注解实战aftersuite和beforesuite

    package com.course.testng;import org.testng.annotations.*; public class BasicAnnotation { //最基本的注解,用 ...

  9. git diff详解

    这篇文章很好很好 https://www.cnblogs.com/alfayed/p/4682780.html

  10. 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务

    作者: Yi Ming Huang, 软件工程师, IBM Dong Fei Wu, 软件工程师, IBM Qing Guo, 软件工程师, IBM 出处: http://www.ibm.com/de ...