银行账户余额操作(Java小白版)

要求:

  • 设计一个对银行账户余额操作的程序
  1. 假设账号: int account=11111

  2.  密码:int password=22222

  3. 余额:int balance=2020

  4. 密码输入错误数:int count=0;

  • 进入程序需要输入账号密码,验证没有问题即可操作.
  • 进入程序输出选择操作选项:

       1.存款,2.取款,3.查询余额

  • 可多次重复操作

分析:

  • 使用Scanner实现数据的交互式输入
  • 使用switch语句实现分级选项菜单
  • 使用while循环实现程序的多次重复操作

代码实现:

  • 银行类:
import java.util.Scanner;
public class BankMake {
    private int zhanghao = 11111;//账号
    private int mima = 22222;//密码
    private int yu_e = 6300;//账户余额
    private int count=0;//密码输入错误数记录
    public int Enter(int account,int password){//进入主菜单,并且每次操作完如果要进行其他操作时都需要重新登录,麻烦但是安全
        if(account==this.zhanghao&&password==this.mima){//对比账号密码是否正确
            System.out.println("登录成功!");
            return 1;
        }
        else{
            if(account!=this.zhanghao){//若账号输入错误则重新输入,不会增加错误次数
                System.out.println("账号错误,请重新输入");
                return 0;
            }
            else{//若密码输入输入错误则则增加输入错误次数
                this.count++;
                if(this.count==3){
                    System.out.println("密码连续输入错误3次!账号冻结!!");//账号冻结就直接退出程序
                    return -1;
                }
                System.out.println("密码错误,还剩" + (3 - count) + "次机会。");//提示用户密码输入错误,并且显示可再次输入的次数
                return 0;
            }
        }
    }
    public void Qmoney() {//取钱操作
        Scanner scan = new Scanner(System.in);
        while (true) {//循环多次输入
            System.out.print("请输入取款金额:");
            int qmoney = scan.nextInt();
            if (qmoney > this.yu_e) {//若需要取的钱数大于余额,则提示余额不足并重新输入取钱数
                System.out.println("余额不足!");
                System.out.println("请重新输入!");
                continue;
            }
            if (qmoney % 50 != 0 || qmoney == 0) {//只能存50元的整数倍,不能取0元
                System.out.println("只能存取50元的整数倍,请重新输入");
                continue;
            }
            this.yu_e -= qmoney;
            System.out.println("取款成功!");
            System.out.println("余额:" + this.yu_e);
            break;
        }
    }
        public void Cmoney (){
            Scanner scan = new Scanner(System.in);
            while (true) {//循环多次输入
                System.out.print("请输入存款金额:");
                int cmoney = scan.nextInt();
                if (cmoney % 50 == 0 && cmoney != 0) {
                    this.yu_e += cmoney;
                    System.out.println("存款成功!");
                    System.out.println("余额:" + this.yu_e);
                    break;
                }
                else//不能存0元,也只能存50元的整数倍
                    System.out.println("只能存取50元的整数倍,请重新输入");
            }
        }
        public void GetBalance(){//获取账户余额数
            System.out.println("余额:"+this.yu_e);
        }
}
  • 主程序
import java.util.Scanner;

public class BankSystem {
    public static void main(String[] args) {
        BankMake bm = new BankMake();
        Scanner scan = new Scanner(System.in);
        System.out.println("欢迎来到XXXX银行系统!");
        while(true) {
            System.out.print("请输入账号:");
            int zh = scan.nextInt();
            System.out.print("请输入密码:");
            int mm = scan.nextInt();
            int k = bm.Enter(zh, mm);//传入账号和密码进行登录
            if (k == 0) continue;//返回0需要重新登录
            if (k == -1) break;//返回-1就退出整个程序
            System.out.println("请选择:1.存款 2.取款 3.余额查询");
            int choice = scan.nextInt();
            switch(choice){//实现菜单分层选择
                case 1:
                    bm.Cmoney();break;
                case 2:
                    bm.Qmoney();break;
                case 3:
                    bm.GetBalance();break;
                default:
                    System.out.println("非法操作!请重新选择");//输入其他不存在的选项时提示
            }
            System.out.print("退出请按1,其它任意键继续   ");
            if(scan.nextInt()==1)
                break;
            System.out.println("请再次输入账号密码");
        }
        System.out.print("系统已经退出。");//退出程序提醒
    }
}

运行结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值