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. Fabric网络升级(二)

    原文来自这里. 如果想了解最新版Fabric的特殊事项,详见Upgrading to the latest release of Fabric. 本章只介绍更新Fabric组件的操作.关于如何通过编辑 ...

  2. nodejs连接mysql报错:throw err; // Rethrow non-MySQL errors TypeError: Cannot read property 'query' of undefined

    该问题的解决方案如下: win+R 输入cmd mysql -u root -p 输入密码进入到mysql 3.执行sql语句,将密码改成123456(自己可以记住的密码即可) alter user ...

  3. Nebula Siwi:基于图数据库的智能问答助手思路分析

      本文重点分析 Nebula Siwi 智能问答思路,具体代码可参考[2],使用的数据集为 Basketballplayer[3].部分数据和 schema 如下所示: 一.智能问答可实现的功能 1 ...

  4. 解决docker push镜像到私有仓库时的报错【http: server gave HTTP response to HTTPS client】

    一:解决docker push镜像到私有仓库时的报错[http: server gave HTTP response to HTTPS client]

  5. 阿里巴巴 ali1688 Date +0800的问题

    package com.example.testredis.controller; import java.text.DateFormat; import java.text.ParseExcepti ...

  6. 《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(中)

    第 8 章 认证和安全 8.2 ASP.NET Core Identity Identity 是 ASP.NET Core 中提供的对用户和角色等信息进行存储与管理的系统 Identity 由3层构成 ...

  7. Hadoop-大数据组件版本号查看

    1.操作系统 cat  /etc/redhat-release ; 2.JDK java -version 3.SCALA scala --version 4.MySQL mysql --versio ...

  8. Java-获取当前时间并进行格式化

    获取年月日 时分秒 import java.text.SimpleDateFormat; import java.util.Date; Date dt = new Date(); SimpleDate ...

  9. nginx 配置stream模块代理并开启日志配置

    前言 nginx 1.20.1nginx从1.9.0开始,新增加了一个stream模块确保nginx 安装时开启stream模块 ./configure \ -- \--with-stream \ - ...

  10. Ubuntu下SSH管理及SFTP下载工具Muon(Snowflake)

    简介 Muon其实更像是一个基于ssh的服务器管理工具, 界面中有PAC Manager的影子, 集成了文件管理, ssh命令行, 服务器性能监测和工具包等功能. 因为这个工具的编写语言是Java, ...