从零开始学Java之 出入门卫管理系统(一)

    这个系统包含了四块,第一块就是人员管理,经理分配三位分别有“ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理。同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这”ABC“权限的三个人代为写来访申请,来访审批,来访门卫登记管理。

    具体步骤如下:

    因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度。

 属性接口:

package com.jereh.discrepancy;

public interface Attribute {

}

方法类接口:

package com.jereh.discrepancy;

public interface Father {

	public abstract boolean add(Attribute at);

	public abstract boolean update(int num);

	public abstract boolean updateJu(int num);

	public abstract boolean delete(int num);

	public abstract void show();

	public abstract void  read();

	public abstract void write();

}

首先确定人员管理:赋予ABC三个等级权利,互不干涉,各自执行各自功能。

    1.建立人员管理的属性类:

<span style="font-size:18px;">public class Employeer implements java.io.Serializable{

	private String name;
	private String emp_no;
	private String pwd;
	private String lev;

	public Employeer(String name, String empNo, String pwd, String lev) {
		super();
		this.name = name;
		this.emp_no = empNo;
		this.pwd = pwd;
		this.lev = lev;
	}
	public Employeer() {

	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmp_no() {
		return emp_no;
	}
	public void setEmp_no(String empNo) {
		emp_no = empNo;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getLev() {
		return lev;
	}
	public void setLev(String lev) {
		this.lev = lev;
	}

}</span>

2.人员管理的方法类:方法后面都有介绍介绍方法的用途

<span style="font-size:18px;">package com.jereh.discrepancy;

import java.io.*;
import java.util.*;

public class EmployeerBiz {

	static List<Employeer> list = new ArrayList<Employeer>();
	Employeer  emp       = new Employeer();
	public void as(){
		list.add(new Employeer("李忠峰","1001","1314","A"));
		list.add(new Employeer("李四","1002","1314","B"));
		list.add(new Employeer("管理员","admin","admin","T"));
		list.add(new Employeer("刘冰","1003","1314","C"));
		writeDb();
	}

	public boolean addEmp(Employeer em){     //添加信息,并判断编号是否重复

		readDb();
		for(int i =0; i<list.size();i++){
			emp = (Employeer)list.get(i);
			if(em.getEmp_no().equals(emp.getEmp_no())){
				return false;
			}
		}
		list.add(em);
		writeDb();
		return true;

	}

	public boolean deleteEmp(String name){  //删除员工的所有信息,找到删除返回true,找不到返回
		readDb();
		for(int i =0; i<list.size();i++){
			emp = (Employeer)list.get(i);
			if(emp.getName().equals(name)){
				list.remove(i);
				writeDb();
				return true;
			}

		}
		return false;
	}
	public boolean updata(String name){     //判断是否有此人

		readDb();
		for(int i = 0; i<list.size();i++){
			emp = (Employeer)list.get(i);
			if(emp.getName().equals(name)){
				return true;
			}
		}
		return false;
	}

     public Employeer updataDb(String name,String emp_no,String pwd,String lev){     //修改此人信息

		readDb();
		for(int i = 0; i<list.size();i++){
			emp = (Employeer)list.get(i);
			if(emp.getName().equals(name)){

			emp.setEmp_no(emp_no);
			emp.setLev(lev);
			emp.setPwd(pwd);
			writeDb();
			return emp;
		  }

	    }
		return null;
     }
     public void showDb(){         //展示录入的员工信息 包括:编号,名字密码等级
    	 readDb();
    	 for(int i =0;i<list.size();i++){
    		 emp = (Employeer)list.get(i);
    		 System.out.println("\t"+emp.getName()+"\t\t"+emp.getEmp_no()+
    				 "\t\t"+emp.getPwd()+"\t\t"+emp.getLev());
    	 }
     }

     public Employeer deng(String no,String pwd){   //登录方法,返回权限,根据权限判断进入哪个界面
    	 readDb();
    	 for(int i =0;i<list.size();i++){
    		 emp = (Employeer)list.get(i);
    		 if(emp.getEmp_no().equals(no)&&emp.getPwd().equals(pwd)){
    			 return emp;
    		 }
    	 }
    	 return null;
     }

	public void readDb(){             //读取123.txt中的文件

		ObjectInputStream ois = null;
		FileInputStream  fis  = null;
		File    file          = new File("E:\\h\\123\\employeer.txt");
		try {
			fis = new FileInputStream(file);
			ois = new ObjectInputStream(fis);
			list = (List)ois.readObject();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				ois.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

	}

	public  void writeDb(){                 //写入123.txt文件中数据

		ObjectOutputStream oos = null;
		FileOutputStream  fos  = null;
		File    file          = new File("E:\\h\\123\\employeer.txt");
		try {
			if(!file.exists()){
				fos = new FileOutputStream(file);
				oos = new ObjectOutputStream(fos);
				oos.writeObject(list);
			}else{
				file.createNewFile();
				fos = new FileOutputStream(file);
				oos = new ObjectOutputStream(fos);
				oos.writeObject(list);
			}

		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				oos.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}</span>

3.人员管理的界面:

<span style="font-size:18px;">package com.jereh.discrepancy;

import java.util.*;

public class EmployeerView {

	Scanner input = new Scanner(System.in);
	EmployeerBiz ebiz = new EmployeerBiz();
	Employeer emp = new Employeer();
	String name;
	String num;
	String pwd;
	String lev;

	public void addView() {
		System.out.print("请输入员工姓名:");
		name = input.next();
		System.out.print("请输入员工工号:");
		num = input.next();
		System.out.print("请输入员工密码:");
		pwd = input.next();
		System.out.print("请输入员工权限:");
		lev = input.next();
		emp.setEmp_no(num);
		emp.setLev(lev);
		emp.setName(name);
		emp.setPwd(pwd);
		if(ebiz.addEmp(emp)){
			System.out.println("录入成功!");
		}else
			System.out.println("录入失败,该编号已经存在");

	}

	public void updataView() {
		System.out.println("请输入您要修改的员工姓名:");
		name = input.next();
		if (ebiz.updata(name)) {
			System.out.print("请输入员工工号:");
			num = input.next();
			System.out.print("请输入员工密码:");
			pwd = input.next();
			System.out.print("请输入员工权限:");
			lev = input.next();
			emp = ebiz.updataDb(name,num, pwd, lev);
			System.out.println("修改成功!");
			System.out.println("*****************************************************");
			System.out.println("\t员工姓名\t\t员工编号\t\t员工密码\t\t员工权限");
			System.out.println("\t" + emp.getName() + "\t\t" + emp.getEmp_no()
					+ "\t\t" + emp.getPwd() + "\t\t" + emp.getLev());
			System.out.println("*****************************************************");
		} else {
			System.out.println("没找到您要修改的员工!");
		}

	}

	public void deleteView() {
		System.out.println("请输入您要删除的员工姓名:");
		name = input.next();
		if (ebiz.deleteEmp(name)) {
			System.out.println("删除成功");
		} else {
			System.out.println("没找到您要删除的员工!");
		}

	}

	public void showView() {
		System.out.println("*****************************************************");
		System.out.println("\t员工姓名\t\t员工编号\t\t员工密码\t\t员工权限");
		ebiz.showDb();
		 System.out.println("*****************************************************");
	}

	public  void main(){
		 EmployeerView ev = new EmployeerView();
		while(true){

		   System.out.println("============员工信息=============");
		   System.out.println("\t\t1.信息录入");
		   System.out.println("\t\t2.信息修改");
		   System.out.println("\t\t3.信息删除");
		   System.out.println("\t\t4.信息查询");
		   System.out.println("\t\t5.退出");
		   System.out.println("=================================");
		   System.out.print("请选择您要进行的操作:");
		   int i = input.nextInt();

			switch(i){
			case 1:
				ev.addView();
				break;
			case 2:
				ev.updataView();
				break;
			case 3:
				ev.deleteView();
				break;
			case 4:
				ev.showView();
				break;
			case 5:
				System.exit(0);
				System.out.println("退出成功!");
				break;
			}
		}

	}
}
</span>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-11 17:14:56

从零开始学Java之 出入门卫管理系统(一)的相关文章

从零开始学java之出入门卫管理系统(三)

  这个系统包含了四块,第一块就是人员管理,经理分配三位分别有"ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理.同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这"ABC"权限的三个人代为写来访申请,来访审批,来访门卫登记管理.     具体步骤如下:     因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度.     从零开始学Java之出入门卫管理

从零开始学Java之出入门卫管理(二)

    这个系统包含了四块,第一块就是人员管理,经理分配三位分别有"ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理.同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这"ABC"权限的三个人代为写来访申请,来访审批,来访门卫登记管理.     具体步骤如下:     因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度.     从零开始学Java之出入门卫

如何从零开始学Java编程

Java语言的学习开始,很多同学不知道从哪入手?如果你也想知道如何从零开始学Java?怎样学Java最有效? 虽然Java面象对象很多东西都是被封装好的直接用,相对其他语言没那么复杂,但是学的东西也没有那么的so easy,总之如果你是真想做开发,就先沉下心用心把基础打好,不要先老想着因为软件行业有市场,所以要进来分一杯羹的这种急躁心态. 另外,在编程这个行业,技术更新速度快,所以一定要具备相应的自学能力及自学意识,不然即使现在入职了Java相关的工作,不主动学习的话,说不定几年后你就跟不上技术

从零开始学JAVA(08)-使用SpringMVC4 Restful 风格引用静态文件 css/js/png

在写完helloworld后想给网页加点样式(*.css),结果怎么也显示不了,百度了很多种方法后试行尝试,试验成功并记录下来,方便以后查看. 时隔两年,继续学习JAVA,太久没学了,忘记得差不多,还好以前写的helloworld,还能用. 一.关于开发环境 eclipse-jee-neon-1a-win32 Jdk 1.8u112 (32位版本) SpringMVC 4.3.4.RELEASE apache-tomcat-8.5.8 二.helloworld.jsp文件中的引用的样式表为 st

从零开始学JAVA(09)-使用SpringMVC4 + Mybatis + MySql 例子(注解方式开发)

项目需要,继续学习springmvc,这里加入Mybatis对数据库的访问,并写下一个简单的例子便于以后学习,希望对看的人有帮助.上一篇被移出博客主页,这一篇努力排版整齐,更原创,希望不要再被移出主页了. 原创文章,后面附上源码,转载请注明出处http://www.cnblogs.com/lin557/p/6179618.html 一.运行环境 Eclipse Neon.1a Release (4.6.1) 官网下载 mysql-5.7.16-winx64(http://cdn.mysql.co

从零开始学JAVA(06)-WebService_Jersey_Restful

由于项目上需要写一个简单的评价系统,像银行MM前面的那种非常满意.满意.不满意那种,结合一个安卓的APP一起使用.由于使用3G网页通讯,个人认为http这种方式更合适.曾经听在Delphi鸟窝群的白雪公猪大神讲过,我们这种情况下的APP应用在移动网络下使用长连接通讯不是很合适,一方面是稳定性,另一方面是流量.所以决定写一个WebService,给app提供服务.本文Eclipse+Tomcat+ 以下菜鸟见解. 一.技术选型:刚学的java,所以百度了一通后,发现网上有很多写WebService

从零开始学Java之IO字符流懒人模式(自动生成属性类,方法类,界面类)

平时做一个项目都要建很多的属性类,方法类和View类,学了IO流之后想了一种办法,就是自己写一串代码,然后在文本文档里写class <类名>加上所有的属性,然后运行一下代码就自动生成了一个  <类名>.java   文件.用myeclipse打开就可以了.同样的道理,你写一个只有   class <类名> 的txt文本文档  点一下另一段代码就自动生成了一个方法类,里面带有增删改查四个简单方法的方法类,还有一个View类. 首先说一下,生成属性类的这段代码: packa

从零开始学JAVA DAY8

1.object 上帝类 所有父类的子类 在每一个类中都隐藏有super() 最终父类都是指向object 类 可以利用这个实现多态 instanceof 2.内部类 顾名思义,即一个类里面的类,为了增加代码的简洁性,使一个功能可以被持续使用 class A { class B{ } } 当然如果外部类(A) 想要使用在B当中定义的局部变量,那么就需要吧B和这个局部变量静态化 想要new一个B当中的对象, 写法: new A.new B static class B 使用方法和函数一致 2.1

从零开始学java(小游戏 石头剪刀布)

Game.java package com.java;import java.util.Scanner;public class Game {        private Player player;        public Game(Player player){        this.player=player;    }            public void start(){        System.out.println("开始游戏");        Sy