package com.hisoft.sys;
import org.apache.log4j.Logger;
import com.hisoft.user.Admin;
/**
* 电子门禁控制系统
* @author Risen
*
*/
public class ControlSys {
private Door door; // 门禁系统的电子门
private Computer computer; // 门禁系统的计算机
private InputEquip inputEquip; // 门禁系统的输入设备
private int ring; // 门铃,0为安静,1为鸣响
private int openSign; // 开门信号,由管理员按下按钮时产生
private Logger logger; // 日志
/**
* 构造方法,初始化
*/
public ControlSys() {
door = new Door();
computer = new Computer();
inputEquip = new InputEquip();
ring = 0;
openSign = 0;
logger = Logger.getLogger(Admin.class.getName());
System.out.println("\t电子门禁系统模拟程序\n" +
" 1.模拟密码开启:以 pa 开头,paxxxx\n" +
" 2.模拟胸卡开启:以 ca 开头,caxxxx\n" +
" 3.模拟指纹开启:以 fi 开头,fixxxx\n"+
" 4.模拟管理员按下电子门开启按钮请输入:admin");
System.out.println("***************************************************");
logger.info("电子门禁系统已启动!");
}
/**
* 通过计算机验证后控制电子门开关
*/
public void work(){
if(inputEquip.getInput()!=null){ //第一步:检查输入设备的输入缓存
if(inputEquip.getInput().equals("admin")){
logger.info("启动管理员模式!");
new Admin(inputEquip.getInput()).work(this);
}else
if(computer.validate(inputEquip.getInput())){
controlDoor();
}else{
logger.info("验证未通过!");
}
}
if(this.openSign==1){ //第二步:检查开门信号
controlDoor();
this.setOpenSign(0);
}
}
/**
* 开门的方法
*/
public void controlDoor(){
door.setDoor("open");
logger.info("验证通过,电子门已开启!5秒钟后自动关闭!");
inputEquip.setInput(null);
//维持5秒,关闭电子门
try {
for(int i=5;i>0;i--){ //第三步:电子门开启状态维持5秒后关闭电子门
System.out.print(i+"……");
Thread.sleep(1000); // 程序暂停1秒
}
System.out.println("咔嚓!");
} catch (InterruptedException e) {
e.printStackTrace();
}
door.setDoor("off");
logger.info("电子门已关闭!");
}
/**
* 退出门禁系统的方法
*/
public void exitDoor(){
logger.info("门禁系统已被管理员关闭!");
System.exit(0);
}
public void setDoor(Door door) {
this.door = door;
}
public void setComputer(Computer computer) {
this.computer = computer;
}
public void setInputEquip(InputEquip inputEquip) {
this.inputEquip = inputEquip;
}
public void setRing(int ring) {
this.ring = ring;
}
public void setOpenSign(int openSign) {
this.openSign = openSign;
}
public void setLogger(Logger logger) {
this.logger = logger;
}
public Door getDoor() {
return door;
}
public Computer getComputer() {
return computer;
}
public InputEquip getInputEquip() {
return inputEquip;
}
public int getRing() {
return ring;
}
public int getOpenSign() {
return openSign;
}
public Logger getLogger() {
return logger;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
电子门禁系统简介:公司的雇员可以凭借密码、胸卡或指纹进入公司计算机根据雇员的验证方式对其身份进行验证,管理员在监控室可以通过按钮直接开启电子门,访客可以按门铃请求进入,由管理员为其放行,管理员可以为新职员设置密码,雇员身份测试模拟管理员身份可以直接输入admin进入管理员身份 门禁系统、电子门、计算机、输入设备、管理员、 雇员、 访客、验证接口、验证实现
资源推荐
资源详情
资源评论
收起资源包目录
电子门禁控制系统JAVA源码.rar (41个子文件)
DoorControlSystem
bin
log4j.properties 515B
com
hisoft
test
Test.class 126B
TestDoor.class 1KB
GuestTest.class 1KB
EmployeeTest.class 960B
AdminTest.class 927B
user
Guest.class 1KB
Employee.class 716B
Admin.class 3KB
validate
CardVld.class 427B
PassWordVld.class 439B
GenericValidate.class 1KB
Validate.class 139B
FingerMarkVld.class 445B
sys
Computer.class 2KB
InputEquip.class 1KB
Door.class 540B
ControlSys.class 4KB
log4j-1.2.16.jar 470KB
.settings
org.eclipse.jdt.core.prefs 629B
src
log4j.properties 515B
com
hisoft
test
TestDoor.java 549B
GuestTest.java 711B
EmployeeTest.java 579B
AdminTest.java 556B
Test.java 78B
user
Admin.java 3KB
Employee.java 467B
Guest.java 858B
validate
GenericValidate.java 971B
Validate.java 162B
CardVld.java 215B
FingerMarkVld.java 227B
PassWordVld.java 221B
sys
ControlSys.java 3KB
InputEquip.java 735B
Computer.java 3KB
Door.java 194B
.project 393B
.classpath 374B
DoorControlSystem.log 16KB
共 41 条
- 1
资源评论
smkfifkfv0305
- 粉丝: 2
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功