Java 学习 <银行类编写>

package zuo_ye3;

import java.util.ArrayList;
import java.util.Scanner;

public class Account { 
  int account_id; //  账户
  String savers_name; //  储户名
  String open_time; //  开户时间
  long user_id; //  身份证号
  double money; //  余额

  //  无参构造。
  public Account() {}
  //  有参构造。
  public Account(int account_id, String savers_name, String open_time, long user_id, double money) {
    this.account_id = account_id;
    this.savers_name = savers_name;
    this.open_time = open_time;
    this.user_id = user_id;
    this.money = money;
  }
  //  打印方法。
  public void output(int number) {
    if (number == 1) {
      System.out.print(account_id + "\t\t");
      System.out.print(savers_name + "\t\t");
      System.out.print(user_id + "\t\t");
      System.out.println();
    } else if (number == 2) {
      System.out.println("---------------用户详细信息打印---------------");
      System.out.println("账号为: " + account_id);
      System.out.println("储户名为: " + savers_name);
      System.out.println("开户时间为: " + open_time);
      System.out.println("身份证号为: " + user_id);
      System.out.println("账户余额为: " + money + "元");
    } else {
      System.out.println("---------------账户余额打印---------------");
      System.out.println("账号: " + account_id);
      System.out.println("当前账户余额为: " + money + "元");
    }

  }
  //  查询方法
  public void find(ArrayList<Account> arr) {
    Scanner scan = new Scanner(System.in);
    System.out.println("---------------查询程序---------------");
    System.out.println("【1】查看所有用户");
    System.out.println("【2】查看用户详细信息");
    System.out.println("【3】查看账户余额");
    System.out.println("【4】返回");
    System.out.print("请选择:");
    while (true) {
      int number = scan.nextInt();
      if (number != 4) {
        if (arr.size() == 0) {
          System.out.println("提示: 当前没有可查询的用户,请返回添加用户");
          this.find(arr);
        }
      }
      switch (number) {
        case 1:
          {
            System.out.println("---------------打印所有用户---------------");
            System.out.println("账号\t\t储户名\t\t身份证号");
            for (int i = 0; i < arr.size(); i++) {
              Account user = arr.get(i);
              user.output(number);
            }
            this.find(arr);
          }
          break;
        case 2:
          int k1 = pan(arr);
          if (k1 == -1) {
            System.out.println("提示:  查找失败!!");
            this.find(arr);
          } else {
            Account user2 = arr.get(k1);
            user2.output(number);
          }
          ;
          this.find(arr);

          break;
        case 3:
          int k = pan(arr);
          if (k == -1) {
            System.out.println("查找失败!!");
            this.find(arr);
          } else {
            Account user1 = arr.get(k);
            user1.output(number);
          }
          ;
          this.find(arr);
        case 4:
          welcome(arr);
      }
    }
  }
  //   销户方法
  public void user_delete(ArrayList<Account> arr) {
    Scanner scan = new Scanner(System.in);
    System.out.println("---------------销户程序---------------");
    System.out.println("【1】删除所有用户");
    System.out.println("【2】删除指定用户");
    System.out.println("【3】返回");
    System.out.print("请选择:");
    while (true) {
      int number = scan.nextInt();
      if (number != 3) {
        if (arr.size() == 0) {
          System.out.println("提示: 当前没有可删除的的用户,请返回添加用户");
          this.user_delete(arr);
        }
      }
      switch (number) {
        case 1:
          System.out.println("---------------删除所有用户---------------");
          int leng = arr.size();
          while (leng != 0) {
            int i = 0;
            Account user = arr.get(i);
            if (arr.remove(arr.get(i))) {
              System.out.println(user.savers_name + "用户删除成功!");
            }
            if (arr.size() == 0) {
              System.out.println("提示:  已全部删除成功!");
            }
            leng--;
          }

          this.user_delete(arr);
          break;
        case 2:
          int k1 = pan(arr);
          if (k1 == -1) {
            System.out.println("提示:  该账户不存在!!");
            this.user_delete(arr);
          } else {
            Account user2 = arr.get(k1);
            if (arr.remove(arr.get(k1))) {
              System.out.println(user2.savers_name + "用户删除成功!");
              this.user_delete(arr);
            }
          }
          ;
          break;
        case 3:
          welcome(arr);
        default:
          System.out.println("输入有无请重新!!");
      }
    }
  }
  //  存取款方法。
  public void save_money(ArrayList<Account> arr) {
    Scanner scan = new Scanner(System.in);
    System.out.println("---------------取存款程序---------------");
    System.out.println("【1】取款");
    System.out.println("【2】存款");
    System.out.println("【3】返回");
    System.out.print("请选择:");
    while (true) {
      int number = scan.nextInt();
      switch (number) {
        case 1:
          System.out.println("---------------[1]取款程序---------------");
          System.out.println("当前余额为:" + this.money + "元");
          System.out.print("输入取款金额:");
          double money = scan.nextDouble();
          this.money -= money;
          System.out.println(this.account_id + "账号中取出" + money + "后目前余额为:" + this.money + "元");
          this.save_money(arr);
        case 2:
          System.out.println("---------------[2]存款程序---------------");
          System.out.println("当前余额为:" + this.money + "元");
          System.out.print("输入存款金额:");
          double money1 = scan.nextDouble();
          this.money += money1;
          System.out.println(this.account_id + "账号存储" + money1 + ";当前余额为:" + this.money + "元");
          this.save_money(arr);
          break;
        case 3:
          welcome(arr);
        default:
          System.out.println("输入有无请重新!!");
      }
    }
  }
  //    main方法。
  public static void main(String[] args) {
    ArrayList<Account> arr = new ArrayList<>();
    welcome(arr);
  }
  // 欢迎主页
  public static void welcome(ArrayList<Account> arr) {
    Scanner scan = new Scanner(System.in);
    Account user1 = new Account();
    System.out.println("----------小银行----------");
    System.out.println("【1】添加用户");
    System.out.println("【2】查询");
    System.out.println("【3】存款或取款");
    System.out.println("【4】销户");
    System.out.println("【5】退出程序");
    System.out.print("请选择:");
    while (true) {
      int number = scan.nextInt();
      switch (number) {
        case 1:
          // 添加用户
          input(arr);
          break;
        case 2:
          // 查询信息
          user1.find(arr);
          break;
        case 3:
          // 存取款操作
          int k = pan(arr);
          Account user = arr.get(k);
          user.save_money(arr);
        case 4:
          // 销户
          user1.user_delete(arr);
          break;
        case 5:
          System.exit(0);//break; // 此处在电脑里使用退出JVM语句。
        default:
          System.out.println("输入有无重新输入!!");
      }
    }
  }

  // 添加用户
  public static void input(ArrayList<Account> arr) {
    Scanner scan = new Scanner(System.in);
    System.out.print("输入账户:");
    int account_id = scan.nextInt();
    System.out.print("输入储户名:");
    String savers_name = scan.next();
    System.out.print("输入开户时间:");
    String open_time = scan.next();
    System.out.print("输入身份证号:");
    long user_id = scan.nextInt();
    System.out.print("输入余额:");
    double money = scan.nextDouble();
    Account a = new Account(account_id, savers_name, open_time, user_id, money);
    arr.add(a);
    if (arr.size() != 0) System.out.println("用户添加成功。");
    else System.out.println("用户添加失败。");
    welcome(arr);
  }
  //  账户判断
  public static int pan(ArrayList<Account> arr) {
    int y = 2;
    Scanner scan = new Scanner(System.in);
    if (arr.size() == 0) {
      System.out.println("无账号,请回去添加用户!!");
      return -1;
    } else
      label1:
      while (true) {
        System.out.print("输入账号:");
        int account_id = scan.nextInt();
        for (int i = 0; i < arr.size(); i++) {
          Account user = arr.get(i);
          if (account_id == user.account_id) {
            return i; // .save_money(arr);
          }
          if (i == arr.size() - 1) {
            System.out.println("该账户不存在!");
            if (y > 0) {
              System.out.print("还有" + y + "次输入机会\n请重新");
              y--;
            } else {
              System.out.println("3次错误输入账户,自动退出存取款程序!!");
              break label1;
            }
          }
        }
      }
    System.out.println("提示: 请查看用户账号!!");
    welcome(arr);
    return -1;
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值