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

时间:2022-01-10 01:00:54

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

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

需求

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

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

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

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

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

下面请看代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
/**
 * 门禁系统
 */
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门禁系统

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

原文链接:https://blog.csdn.net/zhupengqq/article/details/46474267