1. package com.test;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayList;
  7.  
  8. public class test2 {
  9. public static void main(String[] args) throws IOException{
  10. //创建EmpManage对象
  11. EmpManage em=new EmpManage();
  12. //引入IO流
  13. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  14. //作出一个简易菜单
  15. while(true){
  16. System.out.println("请选择你要进行的操作:");
  17. System.out.println("1:表示添加一个雇员");
  18. System.out.println("2:查找一个雇员");
  19. System.out.println("3:修改一个雇员工资");
  20. System.out.println("4:删除一个雇员");
  21. System.out.println("5:退出系统");
  22.  
  23. String operType=br.readLine();
  24.  
  25. if(operType.equals("1")){
  26. System.out.println("请输入编号:");
  27. String empNo=br.readLine();
  28. System.out.println("请输入名字:");
  29. String name=br.readLine();
  30. System.out.println("请输入工资:");
  31. Float sal=Float.parseFloat(br.readLine());
  32. //构造对象
  33. Emp emp=new Emp(empNo,name,sal);
  34.  
  35. em.addEmp(emp);
  36. }
  37. else if(operType.equals("2")){
  38. System.out.println("请输入一个编号:");
  39. String empNo=br.readLine();
  40. em.showinfo(empNo);
  41. }
  42. else if(operType.equals("3")){
  43. System.out.println("请输入一个编号:");
  44. String empNo=br.readLine();
  45. System.out.println("请输入修改后的工资:");
  46. Float sal=Float.parseFloat(br.readLine());
  47. Float newSal=Float.parseFloat(br.readLine());
  48. em.updateSal(empNo, newSal);
  49. }
  50. else if(operType.equals("4")){
  51. System.out.println("请输入一个编号:");
  52. String empNo=br.readLine();
  53. em.delEmp(empNo);
  54. }
  55. else if(operType.equals("5")){
  56. System.exit(-1);
  57. }
  58. }
  59.  
  60. }
  61.  
  62. }
  63.  
  64. //雇员管理类
  65. class EmpManage{
  66. private ArrayList a=null;
  67. //构造函数(初始化成员变量)
  68. public EmpManage(){
  69. a=new ArrayList();
  70. }
  71. //加入员工
  72. public void addEmp(Emp emp){
  73. a.add(emp);
  74. }
  75. //显示员工的相关信息
  76. public void showinfo(String empNo){
  77. //遍历整个ArrayList
  78. for(int i=0;i<a.size();i++){
  79. //取出Emp对象
  80. Emp emp=(Emp)a.get(i);
  81. //比较编号!!!不能用等号,字符相等是指地址相等,.equals比较的是内容
  82. if(emp.getNumber().equals(empNo)){
  83. System.out.println("找到该员工,信息:");
  84. System.out.println("编号"+empNo);
  85. System.out.println("姓名"+emp.getName());
  86. System.out.println("薪水"+emp.getSal());
  87.  
  88. }
  89. }
  90. }
  91.  
  92. //修改工资
  93. public void updateSal(String empNo,float newSal){
  94. for(int i=0;i<a.size();i++){
  95. Emp emp=(Emp)a.get(i);
  96. if(emp.getNumber().equals(empNo)){
  97. //修改工资
  98. emp.setSal(newSal);
  99. }
  100. }
  101. }
  102.  
  103. //删除某个员工
  104. public void delEmp(String empNo){
  105. for(int i=0;i<a.size();i++){
  106. Emp emp=(Emp)a.get(i);
  107. if(emp.getNumber().equals(empNo)){
  108. a.remove(i); //按编号
  109. //a.remove(emp);
  110. }
  111. }
  112. }
  113. }
  114.  
  115. //雇员类
  116. class Emp{
  117. private String number;
  118. private String name;
  119. private float sal;
  120.  
  121. public String getNumber() {
  122. return number;
  123. }
  124. public void setNumber(String number) {
  125. this.number = number;
  126. }
  127. public String getName() {
  128. return name;
  129. }
  130. public void setName(String name) {
  131. this.name = name;
  132. }
  133. public float getSal() {
  134. return sal;
  135. }
  136. public void setSal(float sal) {
  137. this.sal = sal;
  138. }
  139.  
  140. //构造函数
  141. public Emp(String number,String name,float sal){
  142. this.number=number;
  143. this.name=name;
  144. this.sal=sal;
  145. }
  146. }

集合类 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. linux下通用Makefile写法

    linux编译多个源文件的程序比较麻烦,这下就需要通用的Makefile了,编译的时候执行一下make命令就OK,下面介绍通用makfile的写法. 假设现在有以下源文件:file1.h file1. ...

  2. MVC bundle配置文件模板

    bundle文件放在应用根目录,命名为  bundle.config 内容模板 <?xml version="1.0" encoding="utf-8"? ...

  3. ValueProvider核心的值提供系统

    Model绑定的数据具有多种来源: 提交的表单 Json字符串 当前路由数据 请求地址的查询字符串 ASP.NET MVC将这种基于不同数据来源的数据提供机制实现在ValueProvider的组件中 ...

  4. tp5页面跳转,空控制器空方法

    namespace app\index\controller; use think\Controller; class Login extends Controller{ //显示html页面 pub ...

  5. (转载)Android项目实战(二十八):Zxing二维码实现及优化

    Android项目实战(二十八):Zxing二维码实现及优化   前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中 ...

  6. Python爬虫:爬取糗事百科

    网上看到的教程,但是是用正则表达式写的,并不能运行,后面我就用xpath改了,然后重新写了逻辑,并且使用了双线程,也算是原创了吧#!/usr/bin/python# -*- encoding:utf- ...

  7. SQL SERVER中的sys.objects和sysobjects的区别

    这三个视图都是存在于SQL Server的每个数据库中.在SQL Server 2000中,它们都是系统表,而不是视图. 关于两个版本中系统表和系统的视图的对应关系,参考:http://technet ...

  8. Git 版本控制原理

    git 工作原理图 如上图所示,有三个区域Working Directory.stage.master. 名词解释: 工作区(Working Directory) 在我们直接编辑文件(文件夹)的根目录 ...

  9. MySQL主从宕机的解决方法

    测试系统:centos6.5系统 测试环境IP地址划分: master: 192.168.80.130 slave:192.168.80.143 slave:192.168.80.146 首先模拟(M ...

  10. Django - 表与ORM操作

    Django - 表与ORM操作 一. 模板语言 模板中也有自己的语言, 该语言可以实现数据展示 - {{ 变量 }} - 循环 {% for i in all_publisher %} {{ for ...