题目描述
设计一个BankAccount类,这个类包括:
(1)一个int型的balance变量表示账户余额。
(2)一个无参数构造方法,将账户余额初始化为0。
(3)一个带一个参数的构造方法,将账户余额初始化为输入的参数。
(4)一个int型的accountNumber变量表示开户数量,每创建一个BankAccount对象就自动加1。
(5)一个getBalance()方法:返回账户余额。
(6)一个withdraw()方法:带一个int型的amount参数,从账户余额中提取amount指定的款额。
如果amount<0或者大于当前账户余额,则输出“Invalid Amount”。
(7)一个deposit()方法:带一个int型的amount参数,将amount指定的款额存储到该银行账户上。
如果amount<0,则输出“Invalid Amount”。
裁判测试程序样例:
import java.util.Scanner;
/* 请在这里填写答案 */
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean choice1 = scanner.nextBoolean();
//是否创建对象
if (choice1==true)
{
//账户1
BankAccount myAccount1=new BankAccount();
//账户2
BankAccount myAccount2=new BankAccount(100);
//选择操作类型
int choice2 = scanner.nextInt();
switch(choice2){
case 0://存款
int depositAmount=scanner.nextInt();
myAccount2.deposit(depositAmount);
break;
case 1://取款
int withdrawAmount=scanner.nextInt();
myAccount2.withdraw(withdrawAmount);
break;
}
System.out.println(myAccount2.getBalance());
}
System.out.println(BankAccount.accountNumber);
scanner.close();
}
}
输入样例:
输入1:
true
0 20
输出样例:
120
2
输入样例:
输入2:
true
1 120
输出样例:
输出2:
Invalid Amount
100
2
输入样例:
输入3:
false
输出样例:
输出3:
0
解题思路
按照题目要求来写即可,比较简单
Java代码
class BankAccount {
static int accountNumber = 0; //开户数量,每创建一个BankAccount对象,该变量自增1
int balance; //账户余额
public BankAccount() { //每次创建对象都会调用无参数构造器或有参构造器 取决于参数是否为空
balance = 0;
accountNumber++; //每创建一个BankAccount对象,该变量自增1
}
public BankAccount(int balance) { //每次创建对象都会调用无参数构造器或有参构造器 取决于参数是否为空
this.balance = balance;
accountNumber++;
}
public int getBalance() {//一个getBalance方法,返回账户余额
return balance;
}
public int withdraw(int amount) {//一个withdraw方法,返回账户余额
if (amount > balance || amount < 0) {
System.out.println("Invalid Amount");
}
else {
balance -= amount;
}
return balance;
}
public int deposit(int amount) {
if (amount < 0) {
System.out.println("Invalid Amount");
} else {
balance += amount;
}
return balance;
}
}