我正在创建一个需要从我的服务器读取字符串和整数的客户端程序。根据接收到的整数,它会向 GUI 添加一些标签。到目前为止,我的程序读取了整数但跳过了字符串。当我尝试将整数写入程序时,以下输出是我的程序的输出:
- 服务器写入:1
- 服务器写入:1
- 系统打印:1
- 系统打印:j1
- 系统打印:名称
问题是我无法编写字符串,因为它跳过了字符串。我怎样才能避免这个问题(注意我也尝试了一个for
循环)
我的代码如下:
int times = client.reciveCommando();
int o = 0;
System.out.println(times);
while (o != times) {
int j = client.reciveCommando();
System.out.println("j"+ j);
String name = client.reciveString();
System.out.println("Name " +name);
createUser(j, name);
o++;
}
createUser 方法:
private void createUser(int j, String reciveChat) {
if (j == 1) {
chatPerson1.setVisible(true);
lbl_Chatperson1_userName.setVisible(true);
lbl_Chatperson1_userName.setText(reciveChat);
} else if (j == 2) {
lbl_chatPerson2.setVisible(true);
lbl_userName2.setVisible(true);
lbl_userName2.setText(reciveChat);
} else {
chatPerson3.setVisible(true);
lbl_userName3.setVisible(true);
lbl_userName3.setText(reciveChat);
}
}
client.reciveCommando 方法:
public int reciveCommando() throws IOException{
Integer i = input.nextInt();
return i;
}
client.reciveString 方法:
public String reciveString(){
String x = input.nextLine();
return x;
}
希望有人能够帮助我:)
先感谢您。