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

 更新时间:2019年01月21日 14:35:39   作者:zhupengqq  
这篇文章主要为大家详细介绍了java门禁系统面向对象程序设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了java门禁系统面向对象程序设计,供大家参考,具体内容如下

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

需求

1、某公司安装了电子门,要设计门禁系统:

2、公司的雇员可以凭借密码、胸卡或指纹进入公司

3、计算机根据雇员的验证方式对其身份进行验证

4、管理员在监控室可以通过按钮直接开启电子门

5、访客可以按门铃请求进入,由管理员为其放行

下面请看代码

/**
 * 门禁系统
 */
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;
 }
}

原代码下载地址:java门禁系统

以上就是对代码的简单简介,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot消息国际化配置实现过程解析

    SpringBoot消息国际化配置实现过程解析

    这篇文章主要介绍了SpringBoot消息国际化配置实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • SpringBoot实现微信及QQ绑定登录的示例代码

    SpringBoot实现微信及QQ绑定登录的示例代码

    本文主要介绍了SpringBoot实现微信及QQ绑定登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • SpringBoot集成Nacos的详细教程

    SpringBoot集成Nacos的详细教程

    这篇文章主要介绍了SpringBoot集成Nacos的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 一次mybatis连接查询遇到的坑实战记录

    一次mybatis连接查询遇到的坑实战记录

    这篇文章主要给大家介绍了关于一次mybatis连接查询遇到的坑的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • SpringSecurity定义多个过滤器链的操作代码

    SpringSecurity定义多个过滤器链的操作代码

    Spring Security 是 Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富,今天通过本文给大家介绍SpringSecurity定义多个过滤器链的实例,感兴趣的朋友跟随小编一起看看吧
    2023-04-04
  • java实现电话本管理系统

    java实现电话本管理系统

    这篇文章主要为大家详细介绍了JAVA实现电话本管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 简单理解Spring之IOC和AOP及代码示例

    简单理解Spring之IOC和AOP及代码示例

    这篇文章主要介绍了简单理解Spring之IOC和AOP及代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • 详解Spring Boot自动装配的方法步骤

    详解Spring Boot自动装配的方法步骤

    这篇文章主要介绍了详解Spring Boot自动装配的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Java设计模式之迭代器模式解析

    Java设计模式之迭代器模式解析

    这篇文章主要介绍了Java设计模式之迭代器模式解析,迭代器模式提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示,本文提供了部分代码,需要的朋友可以参考下
    2023-09-09
  • Spring Cloud Gateway集成Sentinel流控详情

    Spring Cloud Gateway集成Sentinel流控详情

    这篇文章主要介绍了Spring Cloud Gateway集成Sentinel流控详情,Sentinel支持对Spring Cloud Gateway、Zuul等主流的API Gateway进行限流,需要的朋友可以参考一下
    2022-09-09

最新评论