java门禁系统面向对象程序设计

                                              门禁系统的体会

我觉得在写门禁系统之前,一定要有一个清晰的思路,要明确自己下一步要做哪些工作,要干什么,这样的速度和效率是比较高的。在写程序时要有一个认真端正的态度,不急不燥,有困难,这不是写不下去的理由,有困难要主动解决,总有一种结果等着你,别浮躁,沉住气,作为一个当代的大学生而言,很多人都是浮躁,觉得自己什么都会,却什么也做不好,不如踏踏实实,一脚一个坑的去学习,去探索。相信努力终会有收获。

下面是对门禁系统的介绍:

需求

1:某公司安装了电子门,要设计门禁系统::2:公司的雇员可以凭借密码、胸卡或指纹进入公司
3:计算机根据雇员的验证方式对其身份进行验证 :4:管理员在监控室可以通过按钮直接开启电子门:5:访客可以按门铃请求进入,由管理员为其放行

下面请看代码

<span style="font-size:18px;">/**
 * 门禁系统
 */
package Liu;
import java.util.*;
import org.apache.log4j.Logger;
import yazh.Admin;

public class Meji {
 public Door       door;            // 门禁系统的电子门
 public  Input  input;      // 门禁系统的输入设备
 public  int        ring;        // 门铃,0为安静,1为鸣响
 public  int        openSign=1;   
 private Logger     logger;    // 日志文件
 public Meji(){
  this.door       = new Door();
  this.input = new Input();
  this.ring       = 0;
  this.openSign   = 0;
  this.logger     = Logger.getLogger(Admin.class.getName());
  logger.debug("--------------欢迎进入门禁系统----------");
  System.out.println("门禁系统的使用方法\n" +
    ".模拟管理员按下开门按钮:输入“y”,按否是N");
  System.out.println("***************************************************");
 }
 public void work() {
  /* 检查开门信号 */
  if(this.getOpenSign()==1){
   System.out.println("开启电子门");
   logger.debug("~~~~~~~~~开启电子门,请进~~~~~~~" );
   door.open();                        // 开启电子门
  }
  if(this.getOpenSign()==0){
   System.out.println("电子门关闭-------");
   logger.debug("~~~~~~~~电子门关闭,勿进~~~~~~~");
   door.close();                        // 关闭电子门
  }

  /* 电子门开启状态将维持5秒后关闭 */
  if(door.gettate().equals(Door.OPEN)){
   try {
    System.out.println("请快点进入,电子门将延续5秒后关闭,");
    logger.debug("~~~~亲们~~~~~,请快点进入哦,五秒后就关闭喽!");
    Thread.sleep(5000);             // 让电子门开启状态维持5秒
   } catch (InterruptedException e) {
    return;
   }
   door.close(); 
   System.out.println("电子门已关闭");// 关闭电子
   logger.debug("~~~~~~~~电子门关闭,勿进~~~~~~~");
  }
 }
 /**
  * @param ring 要设置的 ring
  */
 public void ring() {
  this.ring = 1;
 }
 /**
  * @return door
  */
 public Door getDoor() {
  return door;
 }
 /**
  * @return input
  */
 public Input getinput() {
  return input;
 }
 public int getRing() {
  return ring;
 }
 /**
  * @param ring 要设置的 ring
  */
 public void setRing(int ring) {
  this.ring = ring;
 }
 /**
  * @return openSign
  */
 public int getOpenSign() {
  return   this.openSign;
 }
 /**
  * @param openSign 要设置的 openSign
  */
 public void setOpenSign(int openSign) {
  this.openSign = openSign;// 开门信号,由管理员按下按钮时产生,1为开启信号
 }
 public Logger getLogger() {
  // TODO Auto-generated method stub
  return logger;//返回日志信息
 }
}
/*
 * 门禁系统的输入设备
 */
package Liu;
import java.util.Scanner;
import org.apache.log4j.Logger;

import yazh.Admin;
public class Input {
    private String input = null; //暂时保存密码
 private Logger logger;
    /**
     * 输入设备接受认证信息
     */    
    public void input(){
 
     this.logger     = Logger.getLogger(Input.class.getName());
        Scanner scanner = new Scanner(System.in);
        System.out.println("身份验证:" );
        String passStr = scanner.next();//密码验证
        if(passStr.equals("pa12345")){
        System.out.println("密码验证正确,请进");
     logger.debug("---亲----密码验证正确,请进哦!!!!!--~");
                         
        }
       
        /*验证胸卡*/
        else   if (passStr.equals("ca12345")){
          System.out.println("胸卡验证正确,请进");
          logger.debug("---亲----胸卡验证正确,请进哦!!!!!--~");
        } 
   
        /*验证指纹*/
        else if(passStr.equals("fa12345")) {
         System.out.println("指纹验证正确,请进");
          logger.debug("---亲----指纹验证正确,请进哦!!!!!--~");
          
        }
        else{
          System.out.println("验证错误,请重新输入");
        logger.debug("---sorry----验证错误哦!!!!!--~");
        }
       
       
         
    }
    public String getInput() {
        return input;
    }
    public void setInput(String input) {
        this.input = input;
    }
}</span>


原代码下载地址http://download.csdn.net/detail/zhupengqq/9560539

以上就是对代码的简单简介,有什么问题和建议,或者想对需求的增加,请联系我,我们一块来解决。谢谢~~··

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
一、需求描述: 某公司安装了电子门,要设计门禁系统: 公司的雇员可以凭借密码、胸卡或指纹进入公司 计算机根据雇员的验证方式对其身份进行验证 管理员在监控室可以通过按钮直接开启电子门 访客可以按门铃请求进入,由管理员决定是否为其放行 管理员可以为新职员设置密码、胸卡、指纹信息 将雇员的信息保存在文件中 二、需求分析: 根据需求分析出以下对象:(要为每一个对象创建一个类,以实现功能)  门禁系统、电子门、计算机、输入设备  管理员、 雇员、 访客  验证接口、验证实现(与文件中保存的信息进行对比) 对象关系 三、重点及难点: 1、门禁系统类:ControlSys 包含属性:电子门对象、计算机对象、输入设备对象、门铃、开门信号 private Door door; // 门禁系统的电子门 private Computer computer; // 门禁系统的计算机 private InputEquip inputEquip; // 门禁系统的输入设备 private int ring; // 门铃,0为安静,1为鸣响 private int openSign; // 开门信号,由管理员按下按钮时产生 包含方法:工作方法 public void work() 2、门禁系统工作分3步: 第一步:检查输入设备的输入缓存 如果有输入且输入信息存在,开启电子门 输入是否正确由计算机类调用验证接口的相关方法判断 第二步:检查开门信号 如果收到开门信号,开启电子门 第三步:电子门开启状态维持5秒后关闭电子门 //如果电子门已开启,维持5秒,关闭电子门 java.lang.Thread.sleep(5000); // 程序暂停5000毫秒

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值