1 package com.bytezero.bank;
2 /**
3 *
4 * @Description
5 * @author Bytezero·zhenglei! Email:420498246@qq.com
6 * @version
7 * @date 2021年9月15日下午11:53:31
8 * @
9 *
10 */
11 public class BankTest
12 {
13 public static void main(String[] args)
14 {
15 Bank bank = new Bank();
16
17
18 bank.addCustomer("Byte", "zero");
19
20
21 //连续操作
22 bank.getCunstomer(0).setAccount(new Account(2000));
23
24 bank.getCunstomer(0).getAccount().withdraw(500);
25
26 double balance = bank.getCunstomer(0).getAccount().getBalance();
27
28 System.out.println("客户"+bank.getCunstomer(0).getFirstName()+"的账户余额为:"+balance);
29
30 System.out.println("*******************************");
31
32 bank.addCustomer("Byte2", "zero2");
33
34 bank.getCunstomer(1).setAccount(new Account(2000));
35
36 bank.getCunstomer(1).getAccount().withdraw(500);
37
38 double balance1 = bank.getCunstomer(1).getAccount().getBalance();
39
40 System.out.println("客户"+bank.getCunstomer(1).getFirstName()+"的账户余额为:"+balance);
41
42
43 System.out.println("银行客户的个数为:"+bank.getNumberOfCustomers());
44
45 }
46 }
 1 package com.bytezero.bank;
2
3 public class Bank {
4
5 private Customer[] customers; //存放多个客户的数组
6
7 //private Customer[] customers=10; //1:
8 private int numberOfCustomers; //记录客户的个数
9
10 public Bank()
11 {
12 customers = new Customer[10]; //1:
13 }
14
15 //添加客户
16 public void addCustomer(String f,String l)
17 {
18 Customer cust = new Customer(f,l);
19 // customers[numberOfCustomers] = cust;
20 // numberOfCustomers++;
21 customers[numberOfCustomers++] = cust;
22
23
24 }
25
26
27 //获取客户的个数
28 public int getNumberOfCustomers()
29 {
30 return numberOfCustomers;
31 }
32
33 //取指定位置的客户
34 public Customer getCunstomer(int index)
35 {
36 // return customers[index]; //可能报异常
37 if(index >= 0 && index < numberOfCustomers)
38 {
39 return customers[index];
40 }
41
42 return null;
43 }
44
45 }
 1 package com.bytezero.bank;
2
3 public class Account
4 {
5 private double balance;
6
7
8 public Account(double init_balance)
9 {
10 this.balance = init_balance;
11 }
12
13 public double getBalance()
14 {
15 return balance;
16 }
17
18 //存钱操作
19 public void deposit(double amt)
20 {
21 if(amt > 0)
22 {
23 balance += amt;
24 System.out.println("存钱成功!");
25 }
26 }
27
28 //取钱操作
29 public void withdraw(double amt)
30 {
31 if(balance >= amt)
32 {
33 balance -= amt;
34 System.out.println("取钱成功");
35
36
37 }
38 else
39 {
40 System.out.println("余额不足");
41 }
42 }
43
44 }
 1 package com.bytezero.bank;
2
3 public class Customer
4 {
5 private String firstName;
6 private String lastName;
7 private Account account;
8
9
10 public Customer(String f, String l)
11 {
12
13 this.firstName = f;
14 this.lastName = l;
15 }
16
17
18 public Account getAccount() {
19 return account;
20 }
21
22
23 public void setAccount(Account account) {
24 this.account = account;
25 }
26
27
28 public String getFirstName() {
29 return firstName;
30 }
31
32
33 public String getLastName() {
34 return lastName;
35 }
36
37
38
39
40 }

Java 数组对象 小测试的更多相关文章

  1. java 数组对象的应用

    public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public St ...

  2. java数组对象的浅层复制与深层复制

    实际上,java中数组对象的浅层复制只是复制了对象的引用(参考),而深层复制的才是对象所代表的值.

  3. java.lang.String小测试

    还记得java.lang.String么,如果现在给你一个小程序,你能说出它的结果么 public static String ab(String a){ return a + "b&quo ...

  4. Java ConcurrentHashMap的小测试

    今天正式开始自己的分布式学习,在第一章介绍多线程工作模式时,作者抛出了一段关于ConcurrentHashMap代码让我很是疑惑,代码如下: public class TestClass { priv ...

  5. 关于JAVA SESSION的小测试

    手生就要多练啊... package com.jeelearning.servlet; import java.io.IOException; import java.io.PrintWriter; ...

  6. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  7. Java数组扩容算法及Java对它的应用

    1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...

  8. 轻轻松松了解Java的初始化方法(含对象数组的小问题)

    Java基础复习6-初始化 之前讲过了类的一些基础,想必大家都知道了类的定义 什么?你忘了? 下面给你一个例子快速复习 class AClass{ int a; boolean b; void get ...

  9. java基础64 JavaScript中的Arrays数组对象和prototype原型属性(网页知识)

    1.Arrays数组对象的创建方式 方式一: var 变量名=new Array(); //创建一个长度为0的数组. 方式二: var 变量名=new Array(长度); //创建一个指定长度的数组 ...

  10. Java对数组对象进行排序

    下面是一组对数组对象进行排序的代码: package com.sun; import java.util.ArrayList; import java.util.Arrays; import java ...

随机推荐

  1. 数组查询includes

    let arr1 = ['kk', 'jo', 'll']; if (arr1.includes("kk")) {//[ɪnˈkluːz] console.log("找到 ...

  2. Solon 框架启动为什么特别快?

    思来想去!可能与 Solon 容器的独立设计有一定关系. 1.Solon 注解容器的运行特点 有什么注解要处理的(注解能力被规范成了四种),提前注册登记 全局只扫描一次,并在扫描过程中统一处理注解相关 ...

  3. JavaScript获取浏览器的显示区域大小测试

    JavaScript获取浏览器的显示区域大小测试 Now we get the screen size about this browser 网页可见区域宽 document.body.clientW ...

  4. C/C++ x32 Inline Hook 代码封装

    Hook 技术常被叫做挂钩技术,挂钩技术其实早在DOS时代就已经存在了,该技术是Windows系统用于替代DOS中断机制的具体实现,钩子的含义就是在程序还没有调用系统函数之前,钩子捕获调用消息并获得控 ...

  5. C# WinForm 界面控件

    C# WinForm是一种GUI应用程序框架,它允许开发人员使用各种控件来创建丰富的用户界面.以下是一些C# WinForm中常见的界面控件:这些界面控件在C# WinForm应用程序开发中非常常见, ...

  6. ICLR 2024 | Mol-Instructions: 面向大模型的大规模生物分子指令数据集

    Mol-Instructions: 面向大模型的大规模生物分子指令数据集 发表会议:ICLR 2024 论文标题:Mol-Instructions: A Large-Scale Biomolecula ...

  7. 小知识:RMAN备份当前控制文件报错ORA-245

    在一个备份的case上遇到备份控制文件报错ORA-245,最终通过修改snapshot controlfile默认位置到ASM磁盘组后解决. 1.问题复现 回来后就想快速记录下这个小知识点,打开尘封的 ...

  8. 8.类--《Python编程:从入门到实践》

    8.1 创建类 根据约定,在Python中,首字母大写的名称指的是类. 这个类定义中的括号是空的,因为我们要从空白创建这个类.在Python 2.7中创建类时,需要做细微的修改--在括号内包含单词ob ...

  9. frmClientDm.ItemInLogShowAdq.Delete 报【BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。】

    当Adoquery 中只有一条数据库的时候,这个时候删除 就会报 :BOF 或 EOF 中有一个是"真",或者当前的记录已被删除,所需的操作要求一个当前的记录.这个错误 导致这个错 ...

  10. NC14352 旅行

    题目链接 题目 题目描述 小z放假了,准备到R城市旅行,其中这个城市有N个旅游景点.小z时间有限,只能在三个旅行景点进行游玩.小明租了辆车,司机很善良,说咱不计路程,只要你一次性缴费足够,我就带你走遍 ...