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. BigDecimal详解和精度问题

    JavaGuide :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识. BigDecimal 是大厂 Java 面试常问的一个知识点. <阿里巴巴 Java 开发 ...

  2. 9.2 Windows驱动开发:内核解析PE结构导出表

    在笔者的上一篇文章<内核特征码扫描PE代码段>中LyShark带大家通过封装好的LySharkToolsUtilKernelBase函数实现了动态获取内核模块基址,并通过ntimage.h ...

  3. Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--创建字符子集

    项目地址: Pdfium.Net:https://github.com/1000374/Pdfium.Net PdfiumViewer:https://github.com/1000374/Pdfiu ...

  4. 整个小东西,在IDEA中自动生成PO、DAO、Mapper

    作者:小傅哥 博客:https://bugstack.cn 源码:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀.分享.成长,让自己和他人都能有所收获! ...

  5. css 修改复选框的样式

    效果图: 实现代码如下: /* 选中input标签类型为复选框的 */ input[type="checkbox"] { width: 16px; height: 16px; ve ...

  6. SpringBoot自动化配置

    SpringBoot自动化配置 一.SpringBoot自动化配置原理 1.SpringBoot引导类注解介绍 在SpringBoot的启动引导类上有一个@SpringBootApplication注 ...

  7. P3730 曼哈顿交易 题解

    题目链接:曼哈顿交易 比较容易想的题,观察下首先不带修改,考虑维护的东西:次数作为权值,这玩意很显然很难在线维护,考虑下离线算法.看到这种和次数有关的权值,典型的单点加入和删除是非常好找到变化的,那么 ...

  8. Proxmox 7.4 使用vgpu_unlock,为GTX1060开启vGPU支持

    本文在 2021年发布的博客<Proxmox 5.4使用vgpu_unlock,为GTX1060开启vGPU支持>,介绍了 Proxmox VE 5.4 上部署vGPU unlock 的操 ...

  9. 解决npm 下载速度慢的问题

    更换源,这个是最直接方便 有保障的方法了,不要去安装cnpm,因为你无法确定 他是否做了后门.!! 1. 如果不想安装cnpm 又想使用淘宝服务器来下载扩展插件:(这种方法 每次都得带 废弃) npm ...

  10. 安装DNS服务

    实验介绍: DNS的作用 DNS中文名为域名系统 它能实现域名与IP地址的互相转换 域名的命名 www.cnblogs.com 其中.com是网站是顶级域名,.cnblogs是博客园是二级域名,www ...