答案:

package ltd.mufengnet.hello;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int a,b,c;
        a=input.nextInt();
        b=input.nextInt();
        c=input.nextInt();
        BankAccount account=new BankAccount(a);
        System.out.println(account.getBlance());
        System.out.println(account.withdraw(b));
        System.out.println(account.deposit(c));
    }
}
class BankAccount {
    private int balance;
    public BankAccount() {
        balance=0;
    }
    public BankAccount(int a) {
        balance=a;
    }
    public int getBlance() {
        return balance;
    }
    public int withdraw(int b) {
        balance-=b;
        return balance;
    }
    public int deposit(int c) {
        balance+=c;
        return balance;
    }
}

做题前先通读题目所有信息,构思一下整个程序的“规范”,比如我:

  • balance会定义为private类型,因为其是money,所以不能被外界随便的访问和修改,必须用get,而且一旦开户,余额不会突变,只能通过存\取钱来改变,所以并没有set方法
  • 存钱(deposit)\取钱(withdraw) 都用int类型返回存\取钱后的资产,方便后续输出
  • 有两个构造函数,一个有参一个无参,抽象一下,就是你去银行开户,有参就是开户的时候就存了钱在里面,而无参就是只开了户,没有存钱

在new account的时候可能不好理解,你就当做某个人去银行开户,再理解不了你就写你朋友的名字,比如BankAccount laowang=new BankAccount(100); 就是老王去银行开了户,并存了100元钱

吐槽:题干中 (4)一个getBlance()方法,返回账户余额。 单词拼错了= =应该是getBalance,,

仅供参考,如有更优解,可在评论区参与讨论

届ける言葉を今は育ててる
最后更新于 2022-04-05