您好,登錄后才能下訂單哦!
本文為大家分享了java門(mén)禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計(jì),供大家參考,具體內(nèi)容如下
下面是對(duì)門(mén)禁系統(tǒng)的介紹:
需求
1、某公司安裝了電子門(mén),要設(shè)計(jì)門(mén)禁系統(tǒng):
2、公司的雇員可以憑借密碼、胸卡或指紋進(jìn)入公司
3、計(jì)算機(jī)根據(jù)雇員的驗(yàn)證方式對(duì)其身份進(jìn)行驗(yàn)證
4、管理員在監(jiān)控室可以通過(guò)按鈕直接開(kāi)啟電子門(mén)
5、訪客可以按門(mén)鈴請(qǐng)求進(jìn)入,由管理員為其放行
下面請(qǐng)看代碼
/** * 門(mén)禁系統(tǒng) */ package Liu; import java.util.*; import org.apache.log4j.Logger; import yazh.Admin; public class Meji { public Door door; // 門(mén)禁系統(tǒng)的電子門(mén) public Input input; // 門(mén)禁系統(tǒng)的輸入設(shè)備 public int ring; // 門(mén)鈴,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("--------------歡迎進(jìn)入門(mén)禁系統(tǒng)----------"); System.out.println("門(mén)禁系統(tǒng)的使用方法\n" + ".模擬管理員按下開(kāi)門(mén)按鈕:輸入“y”,按否是N"); System.out.println("***************************************************"); } public void work() { /* 檢查開(kāi)門(mén)信號(hào) */ if(this.getOpenSign()==1){ System.out.println("開(kāi)啟電子門(mén)"); logger.debug("~~~~~~~~~開(kāi)啟電子門(mén),請(qǐng)進(jìn)~~~~~~~" ); door.open(); // 開(kāi)啟電子門(mén) } if(this.getOpenSign()==0){ System.out.println("電子門(mén)關(guān)閉-------"); logger.debug("~~~~~~~~電子門(mén)關(guān)閉,勿進(jìn)~~~~~~~"); door.close(); // 關(guān)閉電子門(mén) } /* 電子門(mén)開(kāi)啟狀態(tài)將維持5秒后關(guān)閉 */ if(door.gettate().equals(Door.OPEN)){ try { System.out.println("請(qǐng)快點(diǎn)進(jìn)入,電子門(mén)將延續(xù)5秒后關(guān)閉,"); logger.debug("~~~~親們~~~~~,請(qǐng)快點(diǎn)進(jìn)入哦,五秒后就關(guān)閉嘍!"); Thread.sleep(5000); // 讓電子門(mén)開(kāi)啟狀態(tài)維持5秒 } catch (InterruptedException e) { return; } door.close(); System.out.println("電子門(mén)已關(guān)閉");// 關(guān)閉電子 logger.debug("~~~~~~~~電子門(mén)關(guān)閉,勿進(jì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;// 開(kāi)門(mén)信號(hào),由管理員按下按鈕時(shí)產(chǎn)生,1為開(kāi)啟信號(hào) } public Logger getLogger() { // TODO Auto-generated method stub return logger;//返回日志信息 } } /* * 門(mén)禁系統(tǒng)的輸入設(shè)備 */ package Liu; import java.util.Scanner; import org.apache.log4j.Logger; import yazh.Admin; public class Input { private String input = null; //暫時(shí)保存密碼 private Logger logger; /** * 輸入設(shè)備接受認(rèn)證信息 */ public void input(){ this.logger = Logger.getLogger(Input.class.getName()); Scanner scanner = new Scanner(System.in); System.out.println("身份驗(yàn)證:" ); String passStr = scanner.next();//密碼驗(yàn)證 if(passStr.equals("pa12345")){ System.out.println("密碼驗(yàn)證正確,請(qǐng)進(jìn)"); logger.debug("---親----密碼驗(yàn)證正確,請(qǐng)進(jìn)哦?。。。?!--~"); } /*驗(yàn)證胸卡*/ else if (passStr.equals("ca12345")){ System.out.println("胸卡驗(yàn)證正確,請(qǐng)進(jìn)"); logger.debug("---親----胸卡驗(yàn)證正確,請(qǐng)進(jìn)哦?。。。?!--~"); } /*驗(yàn)證指紋*/ else if(passStr.equals("fa12345")) { System.out.println("指紋驗(yàn)證正確,請(qǐng)進(jìn)"); logger.debug("---親----指紋驗(yàn)證正確,請(qǐng)進(jìn)哦?。。。?!--~"); } else{ System.out.println("驗(yàn)證錯(cuò)誤,請(qǐng)重新輸入"); logger.debug("---sorry----驗(yàn)證錯(cuò)誤哦?。。。?!--~"); } } public String getInput() { return input; } public void setInput(String input) { this.input = input; } }
原代碼下載地址:java門(mén)禁系統(tǒng)
以上就是對(duì)代碼的簡(jiǎn)單簡(jiǎn)介,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。