/*
* 功能:测试一对多多对一的关联关系
* 作者:KDF5000
* 时间:2012.11.3
*/
import java.util.ArrayList;
import java.util.Iterator;
public class Connect {
public static void main(String []Args)
{
ArrayList cards=new ArrayList();
//第一账户,对应三张卡
CardsOwner owner1=new CardsOwner("宋江","男");
CreditCard card1=new CreditCard("中国银行","123456789","123456",owner1);
CreditCard card2=new CreditCard("工商银行","164794684","123456",owner1);
CreditCard card3=new CreditCard("农业银行","468715647","123456",owner1);
owner1.addCard(card1);
owner1.addCard(card2);
owner1.addCard(card3);
//第二个账户对应两张卡
CardsOwner owner2=new CardsOwner("林冲","男");
CreditCard card5=new CreditCard("中国银行","123456789","123456",owner2);
CreditCard card4=new CreditCard("工商银行","164794684","123456",owner2);
owner2.addCard(card5);
owner2.addCard(card4);
//把卡存起来
cards.add(card1);
cards.add(card2);
cards.add(card3);
cards.add(card4);
cards.add(card5);
//输出账户信息
System.out.println("姓名性别银行卡号密码");
owner1.showInfo();
owner2.showInfo();
System.out.println("--------------------------------------------");
System.out.println("银行卡号密码主人性别");
Iterator i=cards.iterator();
while(i.hasNext())
{
i.next().showCardsInfo();
}
}
}
//CreditCard类
class CreditCard
{
String bankName;
Stringnumber;
Stringpassword;
CardsOwner owner;
//constructor
public CreditCard(String bankName, String number, String password,CardsOwner owner)
{
this.bankName = bankName;
this.number = number;
this.password = password;
this.owner=owner;
}
//setter and getter
public String getBankName() {
return bankName;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public CardsOwner getOwner() {
return owner;
}
public void setOwner(CardsOwner owner) {
this.owner = owner;
}
//输出银行卡的信息
void showCardsInfo()
{
System.out.println(this.bankName+""+this.number+""+this.password+""+this.owner.getName()+""
+this.owner.getSex());
}
}
//银行卡持有者
class CardsOwner
{
private String name;
private Stringsex;
ArrayList cards;
//构造方法
public CardsOwner(String name, String sex) {
this.name = name;
this.sex = sex;
cards=new ArrayList();
}
//getter and setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public ArrayList getCards() {
return cards;
}
public void setCards(ArrayList cards) {
this.cards = cards;
}
void addCard(CreditCard card)
{
cards.add(card);
card.setOwner(this);
}
//输出个人信息
//迭代器输出
void showInfo()
{
Iterator i=cards.iterator();
while(i.hasNext())
{
CreditCard temp1=i.next();
System.out.println(this.name+""+this.sex+""+temp1.bankName+""
+temp1.number+""+temp1.password);
}
//for循环输出
/*for(int j=0;j
{
CreditCard temp=cards.get(j);
System.out.println(this.name+""+this.sex+""+temp.bankName+""
+temp.number+""+temp.password);
}*/
}
}