QQ好友分组模拟小程序

QQ好友分组模拟小程序

 

QQ好友分组:一个好友组里有多个好友,一个好友只能选择一个组,这样好友组和好友之间就是一个一对多的关系。在此程序中封装一个好友类即Buddy类,一个组类即Group类。在Buddy类有有关好友的最基本的信息姓名和年龄;在Group类有组的名称,还有一个盛放好友的List集合,在这个类里还有一个添加好友的方法addBuddy。新建一个测试类,在测试类新建两个组:同事、朋友,新建四个好友,将这个四个好友分别添加到这两个组中。

程序代码如下:


//好友类

package com.dr.qq;

public class Buddy {
     private String name;
     private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Buddy(String name,int age)
    {
        this.setName(name);
        this.setAge(age);
    }
    public String toString()
    {
        return "姓名:"+this.name+"  "+"年龄:"+"  "+this.age;
    }
}

//好友组类

package com.dr.qq;

import java.util.ArrayList;
import java.util.List;

public class Group {
    private String name;
    private List<Buddy> buddyList;
      public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public List<Buddy> getBuddyList() {
        return buddyList;
    }
    public void setBuddyList(List<Buddy> buddyList) {
        this.buddyList = buddyList;
    }
    public Group(String name)
    {
        this.setName(name);
        this.setBuddyList(new ArrayList<Buddy>());
    }
    public void addBuddy(Buddy buddy)
    {
        buddyList.add(buddy);
    }
    public String toString()
    {
        return this.getName();
    }
}

//测试类

package com.dr.qq;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {
    public static void main(String args[])
    {
        List<Group> gList=new ArrayList<Group>();
        Group group1=new Group("同事");
        Group group2=new Group("朋友");
        //将同事、朋友两个组添加到gList集合里
        gList.add(group1);
        gList.add(group2);
        Buddy buddy1=new Buddy("张三",20);
        Buddy buddy2=new Buddy("李四",21);
        Buddy buddy3=new Buddy("王五",50);
        Buddy buddy4=new Buddy("李明",60);
        //在同事组里添加张三、李四
        group1.addBuddy(buddy1);
        group1.addBuddy(buddy2);
        //在朋友组里添加王五、李明
        group2.addBuddy(buddy3);
        group2.addBuddy(buddy4);
        Iterator<Group> iter1=gList.iterator();
        while(iter1.hasNext())
        {
            System.out.println(iter1.next());
            Iterator<Buddy> iter2=group1.getBuddyList().iterator();
            while(iter2.hasNext())
            {
                System.out.println("\t"+iter2.next());
            }
        }
    }

}

程序输出结果如下图所示:

QQ好友分组模拟小程序_第1张图片

这个程序需要注意的有两点:1.搞清楚组和好友的关系即一对多的关系。2.新建组的时候一定要初始化组里的List集合(代码:

this.setBuddyList(new ArrayList<Buddy>());
)。

你可能感兴趣的:(QQ好友分组模拟小程序)