removeplayer USER1分割功能问题?
代码工作正常与控制台上面的输入。它为我成功移除了玩家'user1'。但是,如果用户没有提及任何用户名,则会提示删除数组列表中的所有玩家。
removeplayer(紧接着输入),下面的代码失败,因为str [1]没有在这里。 但是我希望str [1]好像这个值为null,这有助于我移除所有玩家。
param="0";
System.out.print(">");
//type_op= in.next();
String str=in.nextLine();
String[] str1=str.split(" ");
type_op = str1[0];
param = str1[1];
String[] param_split = param.split(",");
if(type_op.equals("removeplayer") && param.equals(null))
removeAllPlayers();
else if(type_op.equals("removeplayer"))
removeplayer();
我已经尝试使用下一个()为好,但在这种情况下,问题变得如在这种情况下只有removeAllPlayers()的工作更加复杂。
我不确定问题是什么......当用户只在控制台中写入'removeplayer'时会发生错误吗?如果是这样,你必须检查'str1.length'是否为1.如果是,则分配'param = null'。如果不是,则分配'param = str1 [1]'。 –
是的,现在通过检查str1的长度为1来工作。干杯! – MrCoder
我得到了这个工作。然而,这些代码[System.out.print(“>”); String str = in.nextLine();]在任何操作完成后会运行一次额外的时间。这发生在我的三个操作中。我调试并检查了什么是问题,但我不知道什么是错的。有趣的是,上述两条线为一些操作运行了一次额外的时间。编译器进入in.nextLine(),不会要求我输入内容,然后在下一次迭代中重新运行,以求输入。其中一个迭代发生在没有输入任何值的情况下。 – MrCoder