Java实验3 -- 银行新用户现金业务办理

前言

  • 时间:2020.4.23
  • 备注:这个实验写的我太卑微了,努力在UML和实现案例里猜测代码的逻辑,结果还是讨教了老师才明白——UML和例子只是参考,不用一模一样。。

题目

在这里插入图片描述

代码

//BankTest
package experiment03.task02;
import java.util.Scanner;

/**
 * @Author Hyidol
 * @Data 2020-04-23 18:47
 * @Title 银行新用户现金业务办理 测试类
 * @Detail Java实验3任务2
 */
public class BankTest {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入用户名:");
        String idName = scan.next();
        System.out.print("请输入密码:");
        String idPass = scan.next();
        Bank bank = new Bank(idName,idPass,0);
        while(true){
            bank.Fun();
            int key = scan.nextInt();
            switch (key){
                case 1:
                    bank.Deposit();
                    break;
                case 2:
                    bank.Withdrawal();
                    break;
                case 3:
                    bank.Search();
                    break;
                case 4:
                    bank.Goodbye();
                    break;
            }
        }
    }
}

//Bank.java
package experiment03.task02;
import java.util.Scanner;

/**
 * @Author Hyidol
 * @Data 2020-04-23 17:30
 * @Title 银行新用户现金业务办理
 * @Detail 银行类
 */
public class Bank extends BankTest {
    Scanner scan = new Scanner(System.in);
    static String bankName = "招商银行";
    String name;
    String password;
    double balance;

    Bank(String name,String password,double balance){
        this.name = name;
        this.password = password;
        this.balance = balance;
        System.out.println("欢迎" + this.name + "来到" + bankName +"!");
        System.out.println(this.name + "开户成功,账户余额" + balance + "元");
    }

    /* 存款 */
    void Deposit(){
        System.out.print("请输入存款金额:");
        double moneyIn= scan.nextDouble();
        balance += moneyIn;
        System.out.println(name + "您好!您的账户已存入" + moneyIn + "元,当前账户余额" + balance + "元。");
    }

    /* 取款 */
    void Withdrawal(){
        System.out.print("请输入取款密码:");
        String passIn = scan.next();
        if(passIn.equals(password)){
            System.out.print("请输入取款金额:");
            double moneyOut = scan.nextDouble();
            balance -= moneyOut;
            System.out.println(name + "您好!您的账户已取出" + moneyOut + ",当前账户余额" + balance + "元。");
        } else {
            System.out.println("密码错误!");
        }
    }

    /* 查询 */
    void Search(){
        System.out.println(name + "您好!当前账户余款" + balance + "元。");
    }

    /* 退出 */
    void Goodbye(){
        System.out.println("请携带好随身财物,欢迎下次光临"+ bankName + "!");
        System.exit(0);
    }

    /* 菜单 */
    void Fun(){
        System.out.print("*************银行业务************\n" +
                "1、存款\t" + "2、取款\t" + "3、查询\t" + "4、退出\n" +
                "********************************\n" + "请选择:");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

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

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        this.balance = balance;
    }
}

分析和结果

对原题输出的分析

在这里插入图片描述

运行结果图

在这里插入图片描述

发布了19 篇原创文章 · 获赞 0 · 访问量 1985

猜你喜欢

转载自blog.csdn.net/hyidol/article/details/105718584