broadcast.java

来自「java应用开发详解」· Java 代码 · 共 68 行

JAVA
68
字号
import java.io.PrintStream;
import java.util.Enumeration;
import java.util.Vector;

class Broadcast
{
    private Vector userList = null;

    public Broadcast()
    {
        userList = new Vector();
    }

    public synchronized boolean addUser(Angent angent)
    {
        for(Enumeration enumeration = userList.elements(); enumeration.hasMoreElements();)
            if(((Angent)enumeration.nextElement()).userName.compareTo(angent.userName) == 0)
                return false;

        userList.addElement(angent);
        return true;
    }

    public synchronized void broadcast(String s)
    {
        for(Enumeration enumeration = userList.elements(); 
        enumeration.hasMoreElements(); 
        ((Angent)enumeration.nextElement()).out.println(s));
    }

    public synchronized int getUserNumber()
    {
        return userList.size();
    }

    public synchronized void removeUser(Angent angent)
    {
        userList.removeElement(angent);
    }

    public synchronized void sendTo(String s, String toUser)
    {
        for(Enumeration enumeration = userList.elements(); enumeration.hasMoreElements();)
        {
            Angent angent = (Angent)enumeration.nextElement();
            if(angent.userName.equals(toUser))
            {
                angent.out.println(s);
                break;
            }
        }

    }

    public synchronized void sendOther(String s,Angent angent)
    {
        for(Enumeration enumeration = userList.elements(); enumeration.hasMoreElements();)
        {
            Angent angent1 = (Angent)enumeration.nextElement();
            if(!angent1.userName.equals(angent.userName))
            {

                angent.out.println(s);
            }
        }

    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?