• 用数组表示多重性


    用数组表示多重性

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

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

    1.创建 Bank 类

    2.为Bank类增加两个属性:customers(Customer对象的数组)和numberOfCustomers(整数,跟踪下一个customers数组索引)

    3.添加公有构造器,以合适的最大尺寸(至少大于5)初始化customers数组。

    4.添加addCustomer方法。该方法必须依照参数(姓,名)构造一个新的Customer对象然后把它放到customer数组中。还必须把numberofCustomers属性的值加1。

    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

    //Bank类
    package banking;

    public class Bank {
    private Customer[] customers;
    private int numberOfCustomers;
    public Bank() {
    super();
    this.customers= new Customer[6];
    }

    public void addCustomer(String f,String l)
    {
    numberOfCustomers++;
    customers[numberOfCustomers]=new Customer(f,l);
    }
    public int getNumOfCustomers ()
    {
    return numberOfCustomers;
    }
    public Customer getCustomer()
    {
    return customers[numberOfCustomers];
    }
    }

    //TestBanking类
    package banking;

    public class TestBanking {

    public static void main(String[] args) {

    Bank bk=new Bank();
    bk.addCustomer( "Simms" , "Jane" );
    System.out.println("Customer ["+bk.getNumOfCustomers()+"]"+"is "+bk.getCustomer().getFirstName()+","+bk.getCustomer().getLastName());
    bk.addCustomer( "Bryant" , "Owen" );
    System.out.println("Customer ["+bk.getNumOfCustomers()+"]"+"is "+bk.getCustomer().getFirstName()+","+bk.getCustomer().getLastName());
    bk.addCustomer( "Soley" , "Tim" );
    System.out.println("Customer ["+bk.getNumOfCustomers()+"]"+"is "+bk.getCustomer().getFirstName()+","+bk.getCustomer().getLastName());
    bk.addCustomer( "Soley" , "Maria" );
    System.out.println("Customer ["+bk.getNumOfCustomers()+"]"+"is "+bk.getCustomer().getFirstName()+","+bk.getCustomer().getLastName());
    }
    }

    //运行结果

    Customer [1]is Simms,Jane
    Customer [2]is Bryant,Owen
    Customer [3]is Soley,Tim
    Customer [4]is Soley,Maria

  • 相关阅读:
    【ProjectT】Tapestry
    【ProjectT】Tapestry • Quick Start • Hello World
    【ProjectT】《Pragmatic Version Control Using CVS》【Chapter 2】
    【Notes】《Thinking in Java》【Chapter 11】Part II
    【ProjectT】《Pragmatic Version Control Using CVS》【Chapter 1】
    【ProjectT】Tapestry • Quick Start • DirectLink
    【ProjectT】Pragmatic Version Control Using CVS
    【Notes】《Thinking in Java》【Chapter 11】
    【ProjectT】Tapestry • Quick Start • Forms
    【ProjectT】Tapestry • Quick Start • Introduction
  • 原文地址:https://www.cnblogs.com/smile-dream/p/5915474.html
Copyright © 2020-2023  润新知