所以基本上我正在尝试构建一个简单的客户端-服务器程序,允许用户登录并相互通信。
我编写了代码,允许一个用户向另一个用户“低声”发送消息,而其他已登录的用户则无法看到该私有(private)消息。
我只能允许“一个”用户查看该消息,但无法让更多用户查看该私有(private)消息。
例如,这是我的代码,允许用户查看给他的私有(private)消息:
string restOfMessage = "/w bob hi bob";
/w bob hi bob
/w 是耳语命令,bob 是用户耳语,hi bob 是消息
为了提取 bob,我这样做了:
StringBuffer userMessage = new StringBuffer();
buffer.append(restOfMessage.substring(restOfMessage.indexOf(' ') + 1,
restOfMessage.length()));
String whisperUser = buffer.substring(0, buffer.indexOf(" "));
然后我按照相同的方法提取hi bob
我有一个迭代器,可以迭代在线用户的 HashMap,如果该在线用户与 bob 匹配,我会向他发送一条消息。
第一个问题是,我如何提取多个用户来发送消息?即如果代码是:
/w bob mike john hi guys
第二个问题是,我如何以允许我迭代 HashMap 的方式存储 3 个用户并将其仅发送给这 3 个用户而不发送给其他用户?
感谢您的帮助!
最佳答案
您可以将字符串拆分为空格字符 (),迭代结果,并将消息视为从第一个与有效用户名不匹配的单词开始并包括在内的所有内容。在此之前,用户应该收到消息。
或者,您可以使用不同的语法,例如
/w bob,mike,john hi bob
您知道在之后,
您需要另一个用户名。
关于java - 如何在不同的字符串之间抓取多个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20070052/