1. 程式人生 > >java門禁系統面向物件程式設計

java門禁系統面向物件程式設計

                                              門禁系統的體會

我覺得在寫門禁系統之前,一定要有一個清晰的思路,要明確自己下一步要做哪些工作,要幹什麼,這樣的速度和效率是比較高的。在寫程式時要有一個認真端正的態度,不急不燥,有困難,這不是寫不下去的理由,有困難要主動解決,總有一種結果等著你,別浮躁,沉住氣,作為一個當代的大學生而言,很多人都是浮躁,覺得自己什麼都會,卻什麼也做不好,不如踏踏實實,一腳一個坑的去學習,去探索。相信努力終會有收穫。

下面是對門禁系統的介紹:

需求

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>


以上就是對程式碼的簡單簡介,有什麼問題和建議,或者想對需求的增加,請聯絡我,我們一塊來解決。謝謝~~··