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. Unity字体和画面花屏处理

    字体花屏和相机渲染花屏,这两者的表现有明显的差异. 字体花屏 字体花屏是持续性的,直到组件被刷新,或字体图集被刷新.目前在我们项目中当游戏启动时,就会填充游戏用到的所有字符到贴图中,所以并没有遇到此问 ...

  2. Python 开发代码片段笔记

    作者编写的一些代码片段,本版本为残废删减版,没有加入多线程,也没有实现任何有价值的功能,只是一个临时记事本,记录下本人编写代码的一些思路,有价值的完整版就不发出来了,自己组织吧,代码没啥技术含量,毕竟 ...

  3. [XXL-JOB] 分布式调度XXL-JOB快速上手

    1.概述 1.1什么是任务调度 我们可以思考一下下面业务场景的解决方案: 某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券 某银行系统需要在信用卡到期还款日的前三天进行短信提醒 某财务系 ...

  4. IDEA破解激活

    !!!不要使用最新2021.2.3以后的版本,没有30天免费试用.推荐使用2021年之前的版本!!! 1: IDEA安装后使用30天免费试用进入,然后找到图中位置点击 2: 点击下图链接下载破解jar ...

  5. Shell常用命令与脚本实例

      #!/bin/sh echo "Hello shell" # ----------------------字符串---------------------# readonly ...

  6. 基于 Gurobi 的纸浆运载船顺序装卸决策建模求解|Gurobi优化应用

    Pulp-Carrier-Loading-Optimization-with-Gurobi 基于 Gurobi 的纸浆运载船顺序装卸决策建模求解.中山大学智能工程学院<运筹学>课程期末建模 ...

  7. P3509 [POI2010] ZAB-Frog 题解

    题目链接:ZAB-Frog 基于一个根据距离第 \(k\) 大的事实: 容易知道,对于红色的点而言,与它相近最近的 \(k\) 个点是连续的.而第 \(k\) 远的要么是最左侧要么是最右侧.而我们注意 ...

  8. Linux-如何比较比较两个目录中的文件差异

    在 Linux 命令行中比较两个目录是一项常见的任务,特别是当你需要确保两个目录之间的文件完全相同时. 本文我们将介绍一些在 Linux 命令行中比较两个目录的方法. 方法一:使用 diff 命令比较 ...

  9. CentOS7上systemctl的使用

    CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替. 1.原来的 service 命令与 s ...

  10. CentOS7 卸载/home 扩大/root空间

    卸载home 备份home分区文件 # 新系统无视 tar cvf /tmp/home.tar /home 修改fstab(这一步非常重要,千万别漏了) 准备卸载/home文件系统,centos启动时 ...