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. 物联网浏览器(IoTBrowser)-电子秤模块及二次驱动开发

    本章介绍电子秤模块的示例功能以及二次开发称重驱动的代码,二次开发以顶尖OS2型号驱动为示例,实现方式与物联网浏览器(IoTBrowser)-顶尖OS2电子秤协议实现类似,不同的是电子秤只需要采集重量不 ...

  2. HarmonyOS实战[三]—可编辑的卡片交互

    相关文章: HarmonyOS实战[一]--原理概念介绍安装:基础篇 HarmonyOS实战[二]-超级详细的原子化服务体验[可编辑的卡片交互]快来尝试吧 [本文正在参与"有奖征文|Harm ...

  3. 【深度学习项目五】:利用LSTM网络进行情感分析(NLP)

    相关文章: [深度学习项目一]全连接神经网络实现mnist数字识别](https://blog.csdn.net/sinat_39620217/article/details/116749255?sp ...

  4. 2.1 C++ STL 数组向量容器

    Vector容器是C++ STL中的一个动态数组容器,可以在运行时动态地增加或减少其大小,存储相同数据类型的元素,提供了快速的随机访问和在末尾插入或删除元素的功能. 该容器可以方便.灵活地代替数组,容 ...

  5. Python PyWin32 模块

    Python的生产效率极高,通过使用pypiwin32模块可以快速调用windows API函数,结合Python的高效开发能力,同等时间内比C++能更快的达到目标,pypiwin32模块封装了Win ...

  6. 多路io复用Select [补档-2023-07-16]

    select 2.1 简介 ​ select函数可以用于实现高效的多路复用 I/O,同时处理多个文件描述符的事件,包括监听可读.可写和异常条件,具有阻塞和非阻塞模式,并可以设置超时时间.这使得程序能够 ...

  7. redmine获取cookie和其他系统实现单点登录

    前言 最近有个需求,需要将我们一个平台对接到redmine,让用户可以通过这个平台直接在redmine提工单,需要实现免登录跳转.首先是想到去查redmine有无相应的单点登录功能,查到redmine ...

  8. 《ASP.NET Core 微服务实战》-- 读书笔记(第4章)

    第 4 章 后端服务 现实中的服务不可能处于真空之中,大多数服务都需要与其他服务通信才能完成功能. 我们将这些支持性服务称为后端服务,接下来我们将通过创建一个新的服务并修改之前的团队服务与这个服务通信 ...

  9. 《ASP.NET Core 微服务实战》-- 读书笔记(第3章)

    第 3 章 使用 ASP.NET Core 开发微服务 微服务定义 微服务是一个支持特定业务场景的独立部署单元.它借助语义化版本管理.定义良好的 API 与其他后端服务交互.它的天然特点就是严格遵守单 ...

  10. P2898 [USACO08JAN] Haybale Guessing G 题解

    题目传送门 前置知识 二分答案 | 并查集 解法 对条件的合法性判断其他题解已经讲得很明白了,这里不再赘述.这里主要讲一下用并查集实现黑白染色问题. 以下内容称被覆盖为黑色,不被覆盖为白色. 本题因为 ...