package cn.employee;

 public class Employee {
private int empNo;
private String name;
private String department; public Employee() {
super();
} public Employee(int empNo, String name, String department) {
super();
this.empNo = empNo;
this.name = name;
this.department = department;
} public int getEmpNo() {
return empNo;
} public void setEmpNo(int empNo) {
this.empNo = empNo;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getDepartment() {
return department;
} public void setDepartment(String department) {
this.department = department;
} public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((department == null) ? 0 : department.hashCode());
result = prime * result + empNo;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
} public String toString() {
return "Employee [empNo=" + empNo + ", name=" + name + ", department="
+ department + "]";
} }

Employee

 package cn.employee;

 import java.util.List;

 public class EmpUtils {

     /**
* 是否有相同的员工编号
*/
public static boolean copy(List<Employee> list,int empNo){
boolean flag = false;
for (int i = 0; i < list.size(); i++) {
if(list.get(i).getEmpNo()==empNo){
flag=true;
break;
}
}
return flag;
} /**
* 添加员工
*/
public static boolean add(List<Employee> list, Employee e) {
if (list.contains(e)) {
System.out.println("有重复的员工");
return false;
}
return list.add(e);
} /**
* 查询所有员工
*/
public static void querys(List<Employee> list) {
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
} /**
* 查询指定员工
*/
public static void query(List<Employee> list,int empNo){
for(int i=0;i<list.size();i++){
if(list.get(i).getEmpNo()==empNo){
System.out.println(list.get(i));
break;
}
if((i==list.size()-1)&&list.get(i).getEmpNo()!=empNo){
System.out.println("不存在该员工!");
}
}
}
/**
* 删除员工
*/
public static void delete(List<Employee> list,int empNo){
for(int i=0;i<list.size();i++){
if(list.get(i).getEmpNo()==empNo){
list.remove(list.get(i));
System.out.println("删除成功!");
break;
}
if((i==list.size()-1)&&list.get(i).getEmpNo()!=empNo){
System.out.println("删除失败!");
}
}
}
/**
* 修改员工
*/
public static void update(List<Employee> list,int empNo,String name,String department){
for (Employee e : list) {
if(e.getEmpNo()==empNo){
e.setName(name);
e.setDepartment(department);
break;
}
}
}
}

EmpUtils

 package cn.employee;

 import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; public class MyEmployee {
Scanner sc = new Scanner(System.in);
List<Employee> list=null;
int empNo;
String name;
String department;
int num = 0;
boolean flag = false; public MyEmployee() { list = new ArrayList<Employee>();
fun(list);
} public void fun(List<Employee> list){ ok: for (;;) {
printOptions();
num = sc.nextInt(); if (num < 1 || num > 6) {
System.out.println("输入有误,将重新开始选择!");
break ok;
} switch (num) {
case 1:
printEmpNo();
if (!EmpUtils.copy(list, empNo)) {
printName();
if (EmpUtils.add(list,new Employee(empNo, name, department))) {
System.out.println("添加成功!");
}
} else {
System.out.println("添加失败!");
}
break;
case 2:
EmpUtils.querys(list);
break;
case 3:
printEmpNo();
EmpUtils.query(list, empNo);
break;
case 4:
printEmpNo();
EmpUtils.delete(list, empNo);
break;
case 5:
printEmpNo();
if (EmpUtils.copy(list, empNo)) {// 有该员工
printName();
EmpUtils.update(list, empNo, name, department);
}
break;
case 6:
flag = true;
} if (flag) {// 退出
break;
}
}
} public void printOptions(){
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.退出");
System.out.println("请输入你要进行的操作:");
} public void printEmpNo(){
System.out.println("请输入员工编号:");
empNo = sc.nextInt();
} public void printName(){
System.out.println("请输入员工姓名:");
name = sc.next();
System.out.println("请输入员工部门:");
department = sc.next();
}
}

MyEmployee

 package cn.employee;
/**
* 员工管理系统
* @author 王恒
* @time 2016年10月19日 下午8:54:14
*/
public class TestEmp { public static void main(String[] args) { MyEmployee a=new MyEmployee(); }
}

TestEmp

员工管理系统(集合与IO流的结合使用 beta1.0 ArrayList<Employee>)的更多相关文章

  1. 员工管理系统(集合与IO流的结合使用 beta2.0 ObjectInputStream/ ObjectOutputStream)

    package cn.employee; import java.io.Serializable; public class Employee implements Serializable{ pri ...

  2. 员工管理系统(集合与IO流的结合使用 beta5.0 BufferedReader/ BufferedWriter)

    package cn.gee; public class Emp { private String id;//员工编号 一般是唯一的 private String sname; private int ...

  3. 员工管理系统(集合与IO流的结合使用 beta4.0 ObjectInputStream/ ObjectOutputStream)

    package cn.employee_io; import java.io.Serializable; public class Employee implements Serializable{ ...

  4. 员工管理系统(集合与IO流的结合使用 beta3.0 BufferedReader / ObjectOutputStream)

    Employee.java package cn.employee_io; public class Employee { private String empId; private String n ...

  5. Java集合、IO流、线程知识

    一.集合: 1. 集合框架: 1)Collection (1)List:有序的,有索引,元素可重复. (add(index, element).add(index, Collection).remov ...

  6. Properties集合与IO流

    package com.itheima.demo07.Prop; import java.io.FileOutputStream; import java.io.FileReader; import ...

  7. Io流阶段大总结

    字节流结构 输入流: ObjectInputStream:从文件中读取对象 FileInputStream:从文件中输入(读)字节 BufferedInputStream:底层有缓冲数组,在不定义数组 ...

  8. Java进阶 | IO流核心模块与基本原理

    一.IO流与系统 IO技术在JDK中算是极其复杂的模块,其复杂的一个关键原因就是IO操作和系统内核的关联性,另外网络编程,文件管理都依赖IO技术,而且都是编程的难点,想要整体理解IO流,先从Linux ...

  9. Java基础知识强化之IO流笔记68:Properties和IO流集合使用

    1. Properties和IO流集合使用 这里的集合必须是Properties集合:  public void load(Reader reader):把文件中的数据读取到集合中  public v ...

随机推荐

  1. Android拍照、摄像方向旋转的问题 代码具体解释

    近期做了个拍照.摄像的应用.遇到了拍照.摄像的图像相对于现实.翻转了90度.原因:相机这个硬件的角度是横屏的角度,所以会出现都是横屏的. 1.照相.摄影预览图像的正确角度显 示: public sta ...

  2. javascript是什么?

    JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由全部的现 ...

  3. Phalcon 开发工具(Phalcon Developer Tools)

    Phalcon提供的这个开发工具主要是用来辅助开发,比方生成一些程序的基本框架.生成控制器模型等. 使用这个工具我们仅仅须要一个简单的命令就可以生成应用的基本框架. 很重要: 要使用这个工具我们必需要 ...

  4. System.Diagnostics.Debug.WriteLine 在OutPut中无输出

    TextWriterTraceListener writer = new TextWriterTraceListener(System.Console.Out);              Debug ...

  5. 快看Sample代码,速学Swift语言(2)-基础介绍 快看Sample代码,速学Swift语言(1)-语法速览

    快看Sample代码,速学Swift语言(2)-基础介绍 Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或 ...

  6. SPOJ QTREE6 lct

    题目链接 岛娘出的题.还是比較easy的 #include <iostream> #include <fstream> #include <string> #inc ...

  7. 给GridView设置行高

    近期在工作中遇到了这样一个问题,使用一个GridView展示数据,item中仅仅是一个TextView,可是里面显示的文字多少不固定多少,必须所有展示出来. 遇到的问题: 1.把item中的宽和高设置 ...

  8. 【iOS系列】-xib封装使用

    [iOS系列]-xib封装使用 Xib文件可以用来描述某一块局部的UI界面 Xib文件的加载 修改xib文件的大小size(Freeform) 第一: NSArray *objs = [[NSBund ...

  9. 【网站支付PHP篇】thinkPHP集成支付宝支付(担保交易)

    目录 系列说明 开发环境 部署支付宝 支付请求 支付宝返回处理 系列说明 最近在帮朋友的系统安装支付模块(兑换网站积分),现在总结一些开发心得,希望对大家有用.这个系列会讲以下第三方支付平台的集成: ...

  10. su: /bin/bash: Permission denied带来的疑惑

    >客户一个oracle突然当机了,由于业务启动,客户下意识的重启了服务器,系统是起来了,准备切换到oracle用户下启动数据库,可以怎么都无法su切换,真是火上浇油呀,描述如下: 在root用户 ...