java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計
更新時間:2019年01月21日 14:35:39 作者:zhupengqq
這篇文章主要為大家詳細介紹了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)
以上就是對代碼的簡單簡介,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Java 程序設(shè)計總復習題(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進行響應式程序設(shè)計的入門指南
- Java程序設(shè)計之12個經(jīng)典樣例
相關(guān)文章
SpringBoot實現(xiàn)微信及QQ綁定登錄的示例代碼
本文主要介紹了SpringBoot實現(xiàn)微信及QQ綁定登錄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07Spring?Cloud?Gateway集成Sentinel流控詳情
這篇文章主要介紹了Spring?Cloud?Gateway集成Sentinel流控詳情,Sentinel支持對Spring?Cloud?Gateway、Zuul等主流的API?Gateway進行限流,需要的朋友可以參考一下2022-09-09