集合类 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 ...
随机推荐
- linux下通用Makefile写法
linux编译多个源文件的程序比较麻烦,这下就需要通用的Makefile了,编译的时候执行一下make命令就OK,下面介绍通用makfile的写法. 假设现在有以下源文件:file1.h file1. ...
- MVC bundle配置文件模板
bundle文件放在应用根目录,命名为 bundle.config 内容模板 <?xml version="1.0" encoding="utf-8"? ...
- ValueProvider核心的值提供系统
Model绑定的数据具有多种来源: 提交的表单 Json字符串 当前路由数据 请求地址的查询字符串 ASP.NET MVC将这种基于不同数据来源的数据提供机制实现在ValueProvider的组件中 ...
- tp5页面跳转,空控制器空方法
namespace app\index\controller; use think\Controller; class Login extends Controller{ //显示html页面 pub ...
- (转载)Android项目实战(二十八):Zxing二维码实现及优化
Android项目实战(二十八):Zxing二维码实现及优化 前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中 ...
- Python爬虫:爬取糗事百科
网上看到的教程,但是是用正则表达式写的,并不能运行,后面我就用xpath改了,然后重新写了逻辑,并且使用了双线程,也算是原创了吧#!/usr/bin/python# -*- encoding:utf- ...
- SQL SERVER中的sys.objects和sysobjects的区别
这三个视图都是存在于SQL Server的每个数据库中.在SQL Server 2000中,它们都是系统表,而不是视图. 关于两个版本中系统表和系统的视图的对应关系,参考:http://technet ...
- Git 版本控制原理
git 工作原理图 如上图所示,有三个区域Working Directory.stage.master. 名词解释: 工作区(Working Directory) 在我们直接编辑文件(文件夹)的根目录 ...
- MySQL主从宕机的解决方法
测试系统:centos6.5系统 测试环境IP地址划分: master: 192.168.80.130 slave:192.168.80.143 slave:192.168.80.146 首先模拟(M ...
- Django - 表与ORM操作
Django - 表与ORM操作 一. 模板语言 模板中也有自己的语言, 该语言可以实现数据展示 - {{ 变量 }} - 循环 {% for i in all_publisher %} {{ for ...