博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java集合练习——Bank
阅读量:7097 次
发布时间:2019-06-28

本文共 2543 字,大约阅读时间需要 8 分钟。

练习:用List表示多重性

练习目标-在类中使用List作为模拟集合操作: 在本练习中,将用List实现银行与客户间的多重关系。

任务:对银行来说,可添加Bank类。 Bank 对象跟踪自身与其客户间的关系。用Customer对象的List实现这个集合化的关系。还要保持一个整数属性来跟踪银行当前有多少客户

 1、创建 Bank

 2、Bank类增加两个属性:customers(Customer对象的List)numberOfCustomers(整数, 当前Customer对象的数量)

 3、添加公有构造器,初始化customersList

 4、添加addCustomer方法。该方法必须依照参数(姓,名)构造一个新的Customer对象然后把它放到customerList中。

 5、添加getNumOfCustomers 访问方法,它返回numberofCustomers属性值。

 6、添加getCustomer方法。它返回与给出的index参数相关的客户。

 7、编译并运行TestBanking程序。可以看到下列输出结果:

Customer 1 is Simms,Jane

Customer 2 is Bryant,Owen

Customer 3 is Soley,Tim

 Customer 4 is Soley,Maria

当前客户数量 = 4

import java.util.ArrayList;import java.util.List;public class Bank{    private List
customers; //customers集合 private int numberOfCustomers; //记录客户数量 public Bank(){ //构造方法,初始化customers customers=new ArrayList
(); } public void addCustomer(String f,String l){ //方法:往customers里面添加Customer对象 Customer p=new Customer(f,l); customers.add(p); } public int getNumOfCustomers(){ //获取客户数量,即获取customers的长度 numberOfCustomers=customers.size(); return numberOfCustomers; } public Customer getCustomer(int index){ //根据索引取值return customers.get(index);   } }
public class TestBanking {    public static void main(String[] args) {        Bank cus=new Bank(){};        cus.addCustomer("Simms", "Jane");        cus.addCustomer("Bryant", "Owen");        cus.addCustomer("Soley","Tim");        cus.addCustomer("Soley","Maria");        for(int i=0;i

运行结果:

Customer类:

public class Customer {    //声明私有属性    private String firstName;    private String lastName;    private Account account;    //声明构造器    Customer(){};    Customer(String f,String l){        this.firstName=f;        this.lastName=l;    }    //声明存取器getter/setter方法    public String getFirstName() {                    //firstName        return firstName;    }    public void setFirstName(String firstName) {        this.firstName = firstName;    }    public String getLastName() {                    //lastName        return lastName;    }    public void setLastName(String lastName) {        this.lastName = lastName;    }    //存取器getter/setter方法——account    public Account getAccount() {        return account;    }    public void setAccount(Account acct) {        this.account=acct;    }    @Override    public String toString() {        return firstName + "," + lastName;    }}

 

转载于:https://www.cnblogs.com/jingzhenhua/p/5905814.html

你可能感兴趣的文章
CSS隐藏元素的几个方法(display,visibility)的区别
查看>>
HTML 中的 dl(dt,dd)、ul(li)、ol(li)
查看>>
Linux下Redis主从复制以及SSDB主主复制环境部署记录
查看>>
如何让win10实现关机确认-暂没确认
查看>>
常用js函数整理--common.js
查看>>
java内存泄漏与内存溢出
查看>>
分布式与集群
查看>>
互联网服务器的实现过程需要考虑哪些安全问题 & 加解密及哈希知识点
查看>>
sql server2008给数据表,字段,添加修改注释
查看>>
meta标签清理缓存
查看>>
【数据结构】二叉树
查看>>
onvif开发之设备发现功能的实现--转
查看>>
虚拟机下linux迁移造成MAC地址异常处理办法
查看>>
数据库事务原子性、一致性是怎样实现的?[转]
查看>>
“营改增”后你该知道的…代开发票需要知道的16个事项
查看>>
arcgis10.1连接sqlserver数据库常见问题(转载)
查看>>
动态设置js的属性
查看>>
Fragment的setUserVisibleHint方法实现懒加载,但setUserVisibleHint 不起作用?
查看>>
@responsebody注解的作用就是让viewresolver不起作用,不返回视图名称而是直接返回的return object...
查看>>
lodash(二)对象+循环遍历+排序
查看>>