Java分割输入

发布于 2025-01-01 09:20:31 字数 835 浏览 0 评论 0原文

我正在尝试读入命令和名称。例如“名称:”+“用户名”,我想将用户名添加到数组列表中。我正在尝试拆分输入,以便我有一个名称变量和一个用户名变量,如下所示:

public void run() {
    String line;
    try {
        while(true) {
            line = input.readLine();
            String[] temp;
            temp = line.split(":");

            //checks different input from the client
            //checks to see if the client wants to terminate their connection
            //removes the client's name from the list

            if("name:".equals(temp[0])) {
                users.add(temp[1]);
                output.println("OK");
            }
            else {
                broadcast(name,line); // method in outer class - send messages to all
            }
        } // end of while
    } catch(Exception e) {
        System.out.println(e.getMessage());
    }
} // end of run()

I am trying to read in a command and a name. For example "name:" + "username" and I want to add the username to an arraylist. I am trying to split the input, so that I have a name variable and a username variable as shown below:

public void run() {
    String line;
    try {
        while(true) {
            line = input.readLine();
            String[] temp;
            temp = line.split(":");

            //checks different input from the client
            //checks to see if the client wants to terminate their connection
            //removes the client's name from the list

            if("name:".equals(temp[0])) {
                users.add(temp[1]);
                output.println("OK");
            }
            else {
                broadcast(name,line); // method in outer class - send messages to all
            }
        } // end of while
    } catch(Exception e) {
        System.out.println(e.getMessage());
    }
} // end of run()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

还如梦归 2025-01-08 09:20:31

split 吞掉了分隔符,因此您需要将 this: 更改

            if("name:".equals(temp[0])){

为这样:

            if("name".equals(temp[0])){

另外, this:

                bc(name,line); // method  of outer class - send messages to all

似乎有点奇怪,因为它引用了一个名为 name 的变量,但什么也没有在您发布的代码片段中声明该变量,或者(除了这一行)引用它。

split swallows the separator, so you need to change this:

            if("name:".equals(temp[0])){

to this:

            if("name".equals(temp[0])){

Also, this:

                bc(name,line); // method  of outer class - send messages to all

seems a bit odd, in that it refers to a variable named name, but nothing in your posted snippet declares that variable, or (aside from this line) refers to it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文