Разделенный ввод Java - PullRequest
       11

Разделенный ввод Java

0 голосов
/ 31 января 2012

Я пытаюсь прочитать в команде и имя. Например, «имя:» + «имя пользователя», и я хочу добавить имя пользователя в массив. Я пытаюсь разделить ввод, чтобы у меня была переменная имени и переменная имени пользователя, как показано ниже:

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()

1 Ответ

4 голосов
/ 31 января 2012

split глотает разделитель, поэтому вам необходимо изменить это:

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

на это:

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

Также это:

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

кажется немного странным в том смысле, что он ссылается на переменную с именем name, но ничто в опубликованном фрагменте не объявляет эту переменную или (кроме этой строки) ссылается на нее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...