集合类 ArrayList实现公司职员薪水管理
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实现公司职员薪水管理的更多相关文章
- 《Mysql 公司职员学习篇》 第二章 小A的惊喜
第二章 小A的惊喜 ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...
- 关系网络数据可视化:3. 案例:公司职员关系图表 & 导演演员关系网络可视化
1. 公司职员关系图表 节点和边界数据 节点是指每个节点本身的数据,代表公司职工的名称:属性(Country).分类(Category)和地区(Region,给每个节点定义的属性数据).文件必须是.c ...
- 《Mysql 公司职员学习篇》 第一章 小A的烦恼
第一章 小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...
- C#中的集合类——ArrayList
1. ArrayList与数组 数组的长度不可变,元素的类型单一: ArrayList 实际上相当于一个可变长度的动态数组,由于集合中的元素都是object类型,元素的类型可以有多种了:与数组一样, ...
- 0121 集合类 ArrayList 的练习
集合接口的常用方法: 1.List接口 public class Jihe { public static void main(String[] args) { ArrayList<String ...
- java基础集合类——ArrayList 源码略读
ArrayList是java的动态数组,底层是基于数组实现. 1. 成员变量 public class ArrayList<E> extends AbstractList<E> ...
- Java集合类ArrayList循环中删除特定元素
在项目开发中,我们可能往往需要动态的删除ArrayList中的一些元素. 一种错误的方式: <pre name="code" class="java"&g ...
- 【Java源码】集合类-ArrayList
一.类继承关系 public class ArrayList<E> extends AbstractList<E> implements List<E>, Rand ...
- 2014年武汉的IT行情好像不太好(续):20个月过后,再看当时面试过的几个公司--武汉财富基石-崩盘,辣妈萌宝-创业失败,朋友公司转交他人管理
2014年9月的时候,写过一篇面试的总结性质的文章,"2014年武汉的IT行情好像不太好". 原文地址:blog.csdn.net/fansunion/article/detai ...
随机推荐
- Hessian 接口使用示例总结
一.使用hessian接口准备 首先,hessian接口的使用,必须要准备hessian接口的jar包,本文使用的jar包如下:hessian-4.0.7.jar; Hessian接口的使用一般是在两 ...
- idea的项目中output框出现乱码
找到tomcat的安装目录中的logging.properties 我的在这里:E:\tools\tomcat\apache-tomcat-8.5.38\conf 改其中的参数 修改前 java.u ...
- 我的nginx+php是如何配置的?
nginx使用homebrew安装,安装之后 ngxin 安装目录:/usr/local/Cellar/nginx/1.8.0 删除掉默认的www目录,创建一个自己方便找到的 删除掉默认的www目录 ...
- webpack安装,npm WARN optional SKIPPING OPTIONAL DEPENDENCY,npm WARN notsup SKIPPING OPTIONAL DEPENDENCY警告
npm install webpack -g//全局安装webpack 电脑上安装完后: 其中有两个警告: npm WARN optional SKIPPING OPTIONAL DEPENDENCY ...
- BZOJ 3697/3127 采药人的路径 (点分治)
题目大意: 从前有一棵无向树,树上边权均为$0$或$1$,有一个采药人,他认为如果一条路径上边权为$0$和$1$的边数量相等,那么这条路径阴阳平衡.他想寻找一条合法的采药路径,保证阴阳平衡.然后他发现 ...
- tensorflow的tf.train.Saver()模型保存与恢复
将训练好的模型参数保存起来,以便以后进行验证或测试.tf里面提供模型保存的是tf.train.Saver()模块. 模型保存,先要创建一个Saver对象:如 saver=tf.train.Saver( ...
- pytorch 6 batch_train 批训练
import torch import torch.utils.data as Data torch.manual_seed(1) # reproducible # BATCH_SIZE = 5 BA ...
- Python 绘图与可视化 matplotlib 散点图、numpy模块的random()
效果: 代码: def scatter_curve(): # plt.subplot(1,1,1) n=1024 X=np.random.normal(0,1,n) Y=np.random.norma ...
- ASP.NET-AJAX.FORM提交附件失败
尝试了不少时间在AJAX.FORM提交附件,发现完全不行,经过下面的这个博客的介绍,使用ajax.form.js插件提交成功,记录一下该博文网址和结论: 相关网址:http://www.cnblogs ...
- java语言中的多态概述
多态:一个对象相应着不同类型 多态在代码中的体现:父类或接口的引用指向其子类对象. 多态的优点: 提高了代码的扩展性,前期定义的代码能够使用后期的内容. 多态的弊端: 前期定义的内容不能使用后期子类中 ...