Java聊天室程序

时间:2014-03-16 03:52:32

标签: java static set hashset

我必须将当前用户显示到gui中,但它一直说这个hashset是空的,这已经困扰了我几个小时。解决这个问题的最简单方法是什么?可能有很多未使用的代码,因为我正在测试试图让它工作的东西。

Client.java

public class Client {
    Server.names();
}

Server.java

public class Server {    
    public static HashSet<String> names = new HashSet<String>();

    public static void main(String[] args) throws Exception{                    
        while(true){
            name = in.readLine();
            if(name == null){
                return;
            }
            if(!names.contains(name)){
                 names.add(name);
                 break;
            }            
        }
    }
}

1 个答案:

答案 0 :(得分:1)

你的Q有点不清楚,但如果你想从HashSet课程中获得namesServer,你需要通过调用{{1}来获取它的引用},而不是Server.name,因为它不是一种方法。

现在Server.name()将为空,直到您填充它为止。要填充它,您需要调用将读取用户输入并将其存储在names中的代码。在这种情况下,您可以调用names的{​​{1}}方法(请参阅此相关问答here),但除非您确实希望将其作为main Server方法我建议将方法重命名为main或类似的东西。