银行账户-面向对象综合实验
Problem Description
1.实验目的
(1) 熟悉类的定义;
(2) 掌握对象的声明、实例化及成员的引用;
(3) 掌握构造方法及实例方法的区别与用法。
2.实验内容
多数用户对去银行办理存款、取款等业务并不默生,用户自然感觉到了通过计算机办理业务的方便、快捷,也自然对编写出银行系统程序的程序员发出由衷的敬意。实际上,当我们具备了面向对象编程的知识以后,我们也能编写出相应的程序。
设计一个银行帐户类,成员变量包括账号、储户姓名、开户时间、身份证、存款余额等帐户信息,成员方法包括存款、取款操作。
3.实验要求
将下列代码补充完整
import java.util.*; //引入程序包
public class Main{
public static void main(String args[])
{
//实现账户的相关操作
BCOption bco = new BCOption();
bco.kaihu(new BankCount(1,"张三","2020-04-30",12));
bco.query(0);
}
}
// 你的代码
Output Description
1 zhangsan 2020-04-30 12.0
解题代码
// BankCount类 银行账户类
class BankCount{
// id 编号
private int id;
// name 姓名
private String name;
// time 开户时间
private String time;
// no 身份证号
private String no;
// 余额 这里使用double在进行计算的时候可能出现精度丢失导致出现问题
// 应该使用专业的BigDecimal类
private double balance;
// 无参构造
public BankCount() {
}
// 带参构造 全部成员
public BankCount(int id, String name, String time, String no, double balance) {
this.id = id;
this.name = name;
this.time = time;
this.no = no;
this.balance = balance;
}
// 带参构造 部分成员
public BankCount(int id, String name, String time, double balance) {
this.id = id;
this.name = name;
this.time = time;
this.balance = balance;
}
// 重写ToString方法
@Override
public String toString() {
return id + " " + name + " " + time + " " + balance;
}
}
// BCOption类 账户操作类
class BCOption{
// counts 存储账户信息 这里也是有问题的 不过只要能过OJ 这都无所谓了
private ArrayList<BankCount> counts = new ArrayList<>();
// 开户方法
public void kaihu(BankCount bankCount){
counts.add(bankCount);
}
// 查询账户方法
public void query(int index){
System.out.println(counts.get(index));
}
}