Java:(练习)一、基于面向对象方法的简单银行系统

Java:(练习)一、基于面向对象方法的简单银行系统

前言

学习java过程中,练习了一个面向对象小程序
程序要求(来源:非凡教育):
定义一个中国邮政储蓄银行类,
属性:账号、密码、存款余额,银行名称。
方法:注册账号、存款、取款、查询。
创建该类对象并测试注册账号,存钱,取钱查询操作
要求:使用面向对象思想设计程序

一、银行类Bank.java

package org.renola.test.BankObjectTest;

public class Bank {
    int id = 0;
    String password = "";
    double money = 0.0;
    static String bankName = "中国邮政储蓄银行";

    public Bank(int id, String password, double money) {
        this.id = id;
        this.password = password;
        this.money = money;
    }

    public Bank() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getPassword() {
        return password;
    }

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

    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }

    public static String getBankName() {
        return bankName;
    }

    public static void setBankName(String bankName) {
        Bank.bankName = bankName;
    }
}

二、主类Main.java

package org.renola.test.BankObjectTest;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        Bank[] users = new Bank[10];
        int id = 10000;
        int number = 0;

        System.out.println("欢迎进入中国邮政储蓄银行!");
        while(true) {
            System.out.println("请选择操作:0.退出 1.注册 2.登录");
            boolean flag = false;
            int order = sc.nextInt();
            switch(order) {
                case 0:
                    flag = true;
                    break;
                case 1:
                    System.out.print("请输入密码:");
                    String password = sc.next();
                    Bank user = new Bank(id, password, 0);
                    users[number++] = user;
                    System.out.println("注册成功,您的账户为:" + id++);
                    break;
                case 2:
                    System.out.print("请输入账户:");
                    int userId = sc.nextInt();
                    System.out.print("请输入账户密码:");
                    String userPassword = sc.next();
                    for (int i = 0; users[i]!=null; i++) {
                        if(userId == users[i].getId()) {
                            if(userPassword.equals(users[i].getPassword())) {
                                System.out.println("登陆成功!");
                                boolean userFlag = false;
                                while(true) {
                                    System.out.println("请输入操作:0.退出 1.存款 2.取款 3.查询");
                                    int userOrder = sc.nextInt();
                                    switch(userOrder) {
                                        case 0:
                                            userFlag = true;
                                            break;
                                        case 1:
                                            System.out.print("请输入存款金额:");
                                            double putMoney = sc.nextInt();
                                            if(putMoney>0) {
                                                users[i].setMoney(putMoney);
                                                System.out.println("存款成功!");
                                            }
                                            else {
                                                System.out.println("错误!存款金额非法!");
                                            }
                                            break;
                                        case 2:
                                            System.out.print("请输入取款金额:");
                                            int getMoney = sc.nextInt();
                                            if(getMoney>0) {
                                                double money = users[i].getMoney();
                                                if(money<getMoney) {
                                                    System.out.println("错误!余额不足!");
                                                }
                                                else {
                                                    money -= getMoney;
                                                    users[i].setMoney(money);
                                                    System.out.println("取款成功!");
                                                }
                                            }
                                            else {
                                                System.out.println("错误!取款金额非法!");
                                            }
                                            break;
                                        case 3:
                                            System.out.println("您的账户信息如下:");
                                            System.out.println("账户:" + users[i].getId());
                                            System.out.println("余额:" + users[i].getMoney());
                                            break;
                                        default:break;
                                    }
                                    if(userFlag) {
                                        System.out.println("感谢!您已退出!");
                                        break;
                                    }
                                }
                            }
                            else {
                                System.out.println("密码输入错误!");
                                break;
                            }
                        }
                    }
                    break;
                default:
                    System.out.println("没有该操作!");
                    break;
            }
            if(flag) {
                System.out.println("感谢!您已退出中国邮政储蓄银行系统!");
                break;
            }
        }
    }
}

总结

简单的设计了Bank类,由于是统一的“中国邮政储蓄银行”,所在再Bank类中设置static的银行名称。
具体的注册、登录、存款、取款、查询等功能仍然是写在主类Main中,面向过程的思想仍然严重。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值