我正在尝试阅读命令和名称。例如“name:”+“username”,我想将用户名添加到arraylist。我正在尝试拆分输入,以便我有一个名称变量和一个用户名变量,如下所示:
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()
答案 0 :(得分:4)
split
吞下分隔符,因此您需要更改此内容:
if("name:".equals(temp[0])){
到此:
if("name".equals(temp[0])){
另外,这个:
bc(name,line); // method of outer class - send messages to all
似乎有点奇怪,因为它引用了一个名为name
的变量,但是您发布的代码段中没有任何内容声明该变量,或者(除此行外)引用它。