java 多对一_java中一对多,多对一的关联关系的实现

/*

* 功能:测试一对多多对一的关联关系

* 作者: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);

}*/

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值