资讯专栏INFORMATION COLUMN

Java程序设计实验十(使用ArrayList ) bank项目开发

sanyang / 3230人阅读

摘要:一实验目的练习在项目中使用集合。将属性的声明修改为类型,不再使用属性。测试项目运行程序,输出的测试内容和实验九相同。三程序代码该实验在实验九的基础上仅对类和类进行了修改。

一、实验目的

练习在项目中使用集合。

二、实验内容

【修改Bank 类】

修改 Bank 类,利用 ArrayList 实现多重的客户关系,不要忘记导入必须的所使用java.util中的集合类。
1. 将 customers 属性的声明修改为List 类型,不再使用
numberOfCustomers 属性。
2. 修改 Bank 构造器,将 customers 属性的声明修改为List 类型,不再使用
numberOfcustomers 属性。
3. 修改 addCustomer 方法,使用 List的add 方法。
4. 修改 getCustomer 方法,使用 List的get 方法。
5. 修改 getNumofCustomer 方法,使用 List的size 方法。

【修改 Customer 类】

修改 Customer 类,使用 ArrayList 实现多重的账户关系。修改方法同
上。

【测试项目】

运行 TestBanking 程序,输出的测试内容和实验九相同。

三、程序代码

该实验在实验九的基础上仅对Bank类和Customer类进行了修改。此处只列出Bank.java和Customer.java的代码。
Bank.java

package banking.domain;import java.util.ArrayList;import java.util.List;public class Bank {    private List<Customer>  customers;    private static Bank bank = new Bank();    public Bank(){        customers=new ArrayList<Customer>();    }    public void addCustomer(String f,String l){        customers.add(new Customer(f,l));    }    public int getNumOfCustomers(){        return customers.size();    }    public Customer getCustomer(int index){        return customers.get(index);    }    public static Bank getBank(){        return bank;    }}

Customer.java

package banking.domain;import java.util.ArrayList;import java.util.List;public class Customer {    private String firstName;    private String lastName;    private List<Account> account=new ArrayList<Account>();    private SavingsAccount savingsAccount;    private CheckingAccount checkingAccount;    public Customer(String f,String l){        this.firstName=f;        this.lastName=l;    }    public String getFirstName(){        return this.firstName;    }    public String getLastName(){        return this.lastName;    }    public Account getAccount(int number)    {        return account.get(number);    }    public int getNumOfAccounts(){        return account.size();    }    public void addAccount(Account newAccount){        account.add(newAccount);    }    public SavingsAccount getSavings(){        return savingsAccount;    }    public CheckingAccount getChecking(){        return checkingAccount;    }    public void setSavings(SavingsAccount saving){        savingsAccount=saving;    }    public  void setChecking(CheckingAccount checking){        checkingAccount=checking;    }}

四、运行结果

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123933.html

相关文章

  • 一章 持有对象

    摘要:允许从任一方向来遍历对象,并在遍历迭代过程中进行修改该对象,还能获得迭代器的当前位置。这个构造函数是将返回了一个对象给,这也是的存储实现原理。 一、容器产生的原因   1.数组的缺点:大小一旦给定就无法更改,除非复制到一个新的数组中,开销大;而容器类都可以自动地调整自己的尺寸。  2.容器功能的多样性:容器可以实现各种不同要求,如按不同依据将元素进行排序或者保证容器内无重复元素等等。关...

    archieyang 评论0 收藏0
  • Java 10的10个新特性,将彻底改变你写代码的方式!

    摘要:的新特性说了这么多,看都会有哪些特性来改变我们写代码的方式呢局部变量类型推断局部变量类型推断可以说是中最值得注意的特性,这是语言开发人员为了简化应用程序的编写而采取的又一步,如下图所示。 showImg(https://segmentfault.com/img/remote/1460000015356980); Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了...

    ityouknow 评论0 收藏0
  • java并发编程学习8--同步--ReentrantLock

    摘要:而问题往往就是有多个线程同时在执行步骤。另一个线程有机会执行转账操作,为当前账户打钱。相反的,它处于阻塞状态,直到另一个线程调用同一条件的。唤醒所有处于该条件中的等待线程,这些线程将重新竞争锁。 【条件竞争 在多线程的开发中,两个及其以上的线程需要共享统一数据的存取。如果两个线程存取相同的对象,并且每一个线程都调用一个修改该对象状态的方法,根据线程访问数据的顺序,可能会出现错误的数据结...

    bergwhite 评论0 收藏0
  • 我的阿里之路+Java面经考点

    摘要:我的是忙碌的一年,从年初备战实习春招,年三十都在死磕源码,三月份经历了阿里五次面试,四月顺利收到实习。因为我心理很清楚,我的目标是阿里。所以在收到阿里之后的那晚,我重新规划了接下来的学习计划,将我的短期目标更新成拿下阿里转正。 我的2017是忙碌的一年,从年初备战实习春招,年三十都在死磕JDK源码,三月份经历了阿里五次面试,四月顺利收到实习offer。然后五月怀着忐忑的心情开始了蚂蚁金...

    姘搁『 评论0 收藏0
  • 微服务架构选Java还是选Go - 多用户负载测试

    摘要:微服务架构允许我们再创建新应用时自由选择不同的技术和编程语言。个用户时,性能显着降低,而仍然是完美的。总结使用相同的硬件,应用程序可以提供两倍于具有数据库的应用的并发用户数。 Ivan Nikitsenka 微服务架构允许我们再创建新应用时自由选择不同的技术和编程语言。不过究竟哪种语言更适合我们当下的硬件?回答这个问题,需要搞明白Java和Go编写的相同应用程序之间的性能差异。 先决条...

    lentoo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<