java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計
本文為大家分享了java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計,供大家參考,具體內(nèi)容如下
下面是對門禁系統(tǒng)的介紹:
需求
1、某公司安裝了電子門,要設(shè)計門禁系統(tǒng):
2、公司的雇員可以憑借密碼、胸卡或指紋進入公司
3、計算機根據(jù)雇員的驗證方式對其身份進行驗證
4、管理員在監(jiān)控室可以通過按鈕直接開啟電子門
5、訪客可以按門鈴請求進入,由管理員為其放行
下面請看代碼
/**
* 門禁系統(tǒng)
*/
package Liu;
import java.util.*;
import org.apache.log4j.Logger;
import yazh.Admin;
public class Meji {
public Door door; // 門禁系統(tǒng)的電子門
public Input input; // 門禁系統(tǒng)的輸入設(shè)備
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("--------------歡迎進入門禁系統(tǒng)----------");
System.out.println("門禁系統(tǒng)的使用方法\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("電子門關(guān)閉-------");
logger.debug("~~~~~~~~電子門關(guān)閉,勿進~~~~~~~");
door.close(); // 關(guān)閉電子門
}
/* 電子門開啟狀態(tài)將維持5秒后關(guān)閉 */
if(door.gettate().equals(Door.OPEN)){
try {
System.out.println("請快點進入,電子門將延續(xù)5秒后關(guān)閉,");
logger.debug("~~~~親們~~~~~,請快點進入哦,五秒后就關(guān)閉嘍!");
Thread.sleep(5000); // 讓電子門開啟狀態(tài)維持5秒
} catch (InterruptedException e) {
return;
}
door.close();
System.out.println("電子門已關(guān)閉");// 關(guān)閉電子
logger.debug("~~~~~~~~電子門關(guān)閉,勿進~~~~~~~");
}
}
/**
* @param ring 要設(shè)置的 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 要設(shè)置的 ring
*/
public void setRing(int ring) {
this.ring = ring;
}
/**
* @return openSign
*/
public int getOpenSign() {
return this.openSign;
}
/**
* @param openSign 要設(shè)置的 openSign
*/
public void setOpenSign(int openSign) {
this.openSign = openSign;// 開門信號,由管理員按下按鈕時產(chǎn)生,1為開啟信號
}
public Logger getLogger() {
// TODO Auto-generated method stub
return logger;//返回日志信息
}
}
/*
* 門禁系統(tǒng)的輸入設(shè)備
*/
package Liu;
import java.util.Scanner;
import org.apache.log4j.Logger;
import yazh.Admin;
public class Input {
private String input = null; //暫時保存密碼
private Logger logger;
/**
* 輸入設(shè)備接受認證信息
*/
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門禁系統(tǒng)
以上就是對代碼的簡單簡介,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
- Java 程序設(shè)計總復(fù)習題(java基礎(chǔ)代碼)
- Java Swing程序設(shè)計實戰(zhàn)
- Java面向?qū)ο蟪绦蛟O(shè)計:類的定義,靜態(tài)變量,成員變量,構(gòu)造函數(shù),封裝與私有,this概念與用法詳解
- Java面向?qū)ο蟪绦蛟O(shè)計:繼承,多態(tài)用法實例分析
- Java面向?qū)ο蟪绦蛟O(shè)計:抽象類,接口用法實例分析
- java程序設(shè)計語言的優(yōu)勢及特點
- Java網(wǎng)絡(luò)編程之TCP程序設(shè)計
- Java面向?qū)ο蟪绦蛟O(shè)計多態(tài)性示例
- Android中通過RxJava進行響應(yīng)式程序設(shè)計的入門指南
- Java程序設(shè)計之12個經(jīng)典樣例
相關(guān)文章
Jvisualvm監(jiān)控遠程SpringBoot項目的過程詳解
這篇文章主要介紹了Jvisualvm監(jiān)控遠程SpringBoot項目,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04
Java實戰(zhàn)項目 醫(yī)院預(yù)約掛號系統(tǒng)
本文是一個Java語言編寫的實戰(zhàn)項目,是一個醫(yī)院預(yù)約掛號系統(tǒng),主要用到了jdbc+jsp+mysql+ajax等技術(shù),技術(shù)含量比較高,感興趣的童鞋跟著小編往下看吧2021-09-09
Netty分布式ByteBuf使用subPage級別內(nèi)存分配剖析
這篇文章主要為大家介紹了Netty分布式ByteBuf使用subPage級別內(nèi)存分配剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-03-03
itextpdf提取PDF文件中的任意頁碼實現(xiàn)示例
這篇文章主要為大家介紹了itextpdf提取PDF文件中的任意頁碼實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
JavaWeb基礎(chǔ)教程之Java基礎(chǔ)加強版
這篇文章主要介紹了JavaWeb基礎(chǔ)教程之Java基礎(chǔ)加強版的相關(guān)資料,需要的朋友可以參考下2016-07-07
Java異常的幾個謎題_動力節(jié)點Java學(xué)院整理
本文給大家收藏整理java異常的幾個謎題,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-06-06
Java反射機制如何解決數(shù)據(jù)傳值為空的問題
這篇文章主要介紹了Java反射機制如何解決數(shù)據(jù)傳值為空的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

