用java eclipse写出代码并详细讲解一下

img


用java eclipse写出代码并详细讲解一下(讲解最好是视频,文字讲解也可)

就拿这个考验干部?

首先类会写吧
然后
逻辑就是一个while死循环写菜单 选择4退出循环,
选择其他调用实例方法。得到相应结果

这玩意儿好眼熟,之前有个一模一样的问题
https://ask.csdn.net/questions/7736615
你们这是同学吧

你先那这个代码跑起来试试,有不懂的我们再交流
新建三个类:ATM、BanKCard、Main
ATM.java

import java.util.Scanner;

/**
 * ATM机类
 */
public class ATM {

    //ATM机编号
    private Integer atmNo;

    //银行名称
    private String bankName;

    //
    public void start(BankCard bankCard) {

        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("请输入您的操作\n" +
                    "1、取款   2、存款    3、显示余额  4、退出");
            String cmd = scanner.nextLine();
            if ("4".equalsIgnoreCase(cmd)) {
                System.out.println("退出系统");
                break;
            } else if ("1".equalsIgnoreCase(cmd)) {
                System.out.println("当前您的余额为" + bankCard.getMoney());
                System.out.println("请输入您的取款数:");
                double temp = scanner.nextDouble();
                bankCard.setMoney(bankCard.getMoney() - temp);
                System.out.println("取款成功");
            } else if ("2".equalsIgnoreCase(cmd)) {
                System.out.println("当前您的余额为" + bankCard.getMoney());
                System.out.println("请输入您的存款数:");
                double temp = scanner.nextDouble();
                bankCard.setMoney(bankCard.getMoney() + temp);
                System.out.println("存款成功");
            } else if ("3".equalsIgnoreCase(cmd)) {
                System.out.println("当前您的余额为" + bankCard.getMoney());
            }
        }
    }

    public Integer getAtmNo() {
        return atmNo;
    }

    public void setAtmNo(Integer atmNo) {
        this.atmNo = atmNo;
    }

    public String getBankName() {
        return bankName;
    }

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

BanKCard.java

/**
 * 银行卡类
 */
public class BankCard {

    //银行卡号
    private Integer cardNo;

    //钱数
    private Double money;

    /**
     * 有参构造函数
     *
     * @param cardNo 银行卡号
     * @param money  钱数
     */
    public BankCard(Integer cardNo, Double money) {
        this.cardNo = cardNo;
        this.money = money;
    }

    /**
     * 因为卡号不能修改,所以将setCardNo方法设为私有化
     *
     * @return
     */
    private void setCardNo(Integer cardNo) {
        this.cardNo = cardNo;
    }

    /**
     * 钱数不能为负数,所以此处如果小于0,则直接返回,不进行赋值
     *
     * @param money
     */
    public void setMoney(Double money) {
        if (money < 0) {
            return;
        }
        this.money = money;
    }

    public Double getMoney() {
        return money;
    }

    public Integer getCardNo() {
        return cardNo;
    }
}
/**
 * 启动类
 */
public class Main {
    public static void main(String[] args) {
        ATM atm = new ATM();
        BankCard bankCard = new BankCard(110,324.0);
        atm.start(bankCard);
    }
}