溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java實現銀行ATM功能示例

發布時間:2020-10-28 14:42:46 來源:億速云 閱讀:341 作者:Leah 欄目:開發技術

Java實現銀行ATM功能示例?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

實現功能

1、用戶需要通過輸入銀行卡號和密碼才能進入ATM系統
2、用戶可以在ATM中實現取款、存款、轉賬、余額查詢、退出系統等功能

簡單分析

1、創建User類(cardNo,identity,phone,username,password,balance(余額))
2、創建Bank類,主要實現初始化用戶、用戶登錄、顯示菜單、取款、存款、轉賬、余額查詢、退出系統等功能。

代碼實現

User.java

public class User {
   private String username;
   private int password;
   private String cardNo;
   private String identity;
   private String phone;
   private double blance;

  public User() {
  }

  public User(String username, int password, String cardNo, String identity, String phone, double blance) {
    this.username = username;
    this.password = password;
    this.cardNo = cardNo;
    this.identity = identity;
    this.phone = phone;
    this.blance = blance;
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

  public int getPassword() {
    return password;
  }

  public void setPassword(int password) {
    this.password = password;
  }

  public String getCardNo() {
    return cardNo;
  }

  public void setCardNo(String cardNo) {
    this.cardNo = cardNo;
  }

  public String getIdentity() {
    return identity;
  }

  public void setIdentity(String identity) {
    this.identity = identity;
  }

  public String getPhone() {
    return phone;
  }

  public void setPhone(String phone) {
    this.phone = phone;
  }

  public double getBlance() {
    return blance;
  }

  public void setBlance(double blance) {
    this.blance = blance;
  }
}

Bank.java

public class Bank {
  //創建用戶數組
  private User[] users=new User[100];
  //用戶個數
  private int size=0;
  //當前登錄的用戶
  private User loginuser;

  public Bank() {
    initial();//初始化用戶
  }

  /**
  * 初始化用戶
  */
  public void initial(){
    User user1=new User("鐘愛",12346,"6226789234023434","130324192309123074","13133565435",2312313);
    User user2=new User("冷冬",12354,"6226789234023567","1305472309123074","13446745675",2333);
    User user3=new User("小龍",9893,"6226789234023564","13032414575467457","13145745435",255553);
    User user4=new User("趙麗穎",6342,"6226789234029324","130324192647456774","13145675435",288883);
    User user5=new User("徐三哥",8445,"6226789234025487","1303241923456744","1457785435",28989);
    users[0]=user1;
    users[1]=user2;
    users[2]=user3;
    users[3]=user4;
    users[4]=user5;
    size=5;
  }
  /**
  * 用戶登錄
  */
  public User login(String cardNo,int password){
    for (int i = 0; i <size ; i++) {
  if((users[i].getCardNo().equals(cardNo))&&(users[i].getPassword()==password)){
        loginuser=users[i];
        return users[i];
      }
    }
    return null;
  }
  /**
  * 顯示菜單
  */
  public void showMenus(){
    Scanner input =new Scanner(System.in);
    do { System.out.println("**********************************歡迎進入ATM系統*****************************************");
    System.out.println("*********************1 存款 2 取錢 3 轉賬 4 查詢余額 5 修改密碼 0 退出***********************");


      int choice=input.nextInt();
      switch (choice){
        case 1:
          //取款
          save();
          break;
        case 2:
          //存錢
          withdraw();
          break;
        case 3:
          //轉賬
          trans();
          break;
        case 4:
          //查詢余額
          query();
          break;
        case 5:
          //修改密碼
          revise();
          break;
        case 0:
          //退出ATM系統
          System.out.println("歡迎下次使用本系統");
         return;
      }
    } while (true);
  }
 /**
   * 存款操作
   */
  public void save(){
    System.out.println("請輸入您的存款金額:");
    Scanner input=new Scanner(System.in);
    int money=input.nextInt();
    if(loginuser!=null){
      if(money>0){
        loginuser.setBlance(loginuser.getBlance()+money);
        System.out.println("存款成功");
        System.out.println("您的當前余額為"+loginuser.getBlance());
      }else{
        System.out.println("輸入錯誤!");
      }
    }else{
      System.out.println("您還未進行賬戶登錄");
    }
  }
  /**
   * 取款操作
   */
  public void withdraw(){
    Scanner input=new Scanner(System.in);
    System.out.println("請輸入你要取出的金額為:");
    int money=input.nextInt();
    if(loginuser!=null){
      if(money>0&&money<=loginuser.getBlance()){
        loginuser.setBlance(loginuser.getBlance()-money);
        System.out.println("取款成功");
        System.out.println("您的當前余額為:"+loginuser.getBlance());
      }else{
        System.out.println("輸入錯誤");
      }
    }else{
      System.out.println("您還未進行賬戶登錄");
    }
  }
  /**
   * 轉賬操作
   */
  public void trans(){
    Scanner input=new Scanner(System.in);
    System.out.println("請輸入要轉入賬戶的卡號:");
    String cardNo=input.next();
    User nuser=null;//對方賬戶
    boolean IsExit=false;//判斷對方賬戶是否存在
    for (int i = 0; i <size; i++) {
      if(users[i].getCardNo().equals(cardNo)){
        IsExit=true;//檢索到對方賬戶
        nuser=users[i];
      }
    }
    if(loginuser==nuser){
      System.out.println("不可以自己給自己賬戶進行轉賬");
      return;
    }
    if(loginuser!=null){
      System.out.println("請輸入要轉賬的金額:");
      int money=input.nextInt();
      if(money>0&&money<=loginuser.getBlance()){
        loginuser.setBlance(loginuser.getBlance()-money);
        nuser.setBlance(nuser.getBlance()+money);
        System.out.println("轉賬成功");
        System.out.println("您當前余額為"+loginuser.getBlance());
        System.out.println(nuser.getBlance());
      }else{
        System.out.println("輸入錯誤");
      }
    }else{
      System.out.println("請登錄賬戶");
    }
  }
  /**
   * 查詢余額
   */
  public void query(){

    System.out.println("您的余額為:"+loginuser.getBlance());
  }
  /**
   * 修改密碼
   */
  public void revise(){
    Scanner input=new Scanner(System.in);
    System.out.println("請輸入您的新密碼");
    int newpassword=input.nextInt();
    for (int i = 0; i < size; i++) {
      if(users[i]==loginuser){
        users[i].setPassword(newpassword); //進行修改
      }
    }
    System.out.println("密碼修改成功");
  }
}

BankSystem.java

public class BankSystem {
  public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    Bank bank=new Bank();
      System.out.println("請輸入您的卡號:");
      String cardNo=input.next();
      System.out.println("請輸入您的密碼:");
      int password=input.nextInt();
      User user = bank.login(cardNo, password);//用戶登錄
      if(user!=null){
        System.out.println(user.getUsername()+"登陸成功");
        bank.showMenus();
      }else{
        System.out.println("登陸失敗");
      }
  }
}

看完上述內容,你們掌握Java實現銀行ATM功能示例的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

相關推薦
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女