java門禁系統面向物件程式設計
阿新 • • 發佈:2019-01-02
門禁系統的體會
我覺得在寫門禁系統之前,一定要有一個清晰的思路,要明確自己下一步要做哪些工作,要幹什麼,這樣的速度和效率是比較高的。在寫程式時要有一個認真端正的態度,不急不燥,有困難,這不是寫不下去的理由,有困難要主動解決,總有一種結果等著你,別浮躁,沉住氣,作為一個當代的大學生而言,很多人都是浮躁,覺得自己什麼都會,卻什麼也做不好,不如踏踏實實,一腳一個坑的去學習,去探索。相信努力終會有收穫。
下面是對門禁系統的介紹:
需求
1:某公司安裝了電子門,要設計門禁系統::2:公司的僱員可以憑藉密碼、胸卡或指紋進入公司
3:計算機根據僱員的驗證方式對其身份進行驗證 :4:管理員在監控室可以通過按鈕直接開啟電子門:5:訪客可以按門鈴請求進入,由管理員為其放行
下面請看程式碼
<span style="font-size:18px;">/** * 門禁系統 */ 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; } }</span>
以上就是對程式碼的簡單簡介,有什麼問題和建議,或者想對需求的增加,請聯絡我,我們一塊來解決。謝謝~~··