removeplayer user1
代码在控制台上使用上面的输入正常工作。它成功删除了玩家' user1'为了我。但是,如果用户未提及任何用户名,则会提示删除阵列列表中的所有玩家。
removeplayer(后跟enter),下面的代码失败,因为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();
我也尝试过使用next(),但在这种情况下,问题变得更加复杂,因为只有removeAllPlayers()才能工作。
答案 0 :(得分:3)
一个简单的解决方案是立即检查str1数组,以便通过检查数组长度来了解是否没有指定用户:
param = "0";
System.out.print(">");
//type_op= in.next();
String str = in.nextLine();
String[] str1 = str.split(" ");
type_op = str1[0];
if (type_op.equals("removeplayer") && str1.length == 1) {
removeAllPlayers();
} else if (type_op.equals("removeplayer")) {
param = str1[1];
String[] param_split = param.split(",");
removeplayer();
}
这只是一个简单而快速的解决方案,但应该可行。 我希望这会对你有所帮助。
答案 1 :(得分:0)
将其比作
if(type_op.equals(“removeplayer”)&& param == null )
removeAllPlayers();