java集合練習——Bank


練習:用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<Customer> customers;             //customers集合
    private int numberOfCustomers;                //記錄客戶數量
    public Bank(){                                //構造方法,初始化customers
        customers=new ArrayList<Customer>();
    }
    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<cus.getNumOfCustomers();i++){
            System.out.println("Customer "+(i+1)+" is"+" "+cus.getCustomer(i));
        }    
        System.out.println("當前客戶數量="+cus.getNumOfCustomers());
        System.out.println("第二個客戶是:"+cus.getCustomer(2));
    }
}

運行結果:

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;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM