Java 分割功能问题?

Java 分割功能问题?,java,string,split,tokenize,Java,String,Split,Tokenize,removeplayer用户1 代码可以在控制台上使用上述输入。它成功地为我删除了播放器“user1”。但是,如果用户未提及任何用户名,则会提示删除阵列列表中的所有玩家 removeplayer(后跟enter),下面的代码失败,因为str[1]在这里什么都不是。 但是我希望str[1]就好像这个值为null一样,它可以帮助我删除所有玩家 我也尝试过使用next(),但在这种情况下,问题变得更加复杂,因为在这种情况下,只有removeAllPlayers()起作用 一个简单的解决方案是通过检查数

removeplayer用户1

代码可以在控制台上使用上述输入。它成功地为我删除了播放器“user1”。但是,如果用户未提及任何用户名,则会提示删除阵列列表中的所有玩家

removeplayer(后跟enter),下面的代码失败,因为str[1]在这里什么都不是。 但是我希望str[1]就好像这个值为null一样,它可以帮助我删除所有玩家


我也尝试过使用next(),但在这种情况下,问题变得更加复杂,因为在这种情况下,只有removeAllPlayers()起作用

一个简单的解决方案是通过检查数组长度立即检查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();
}
这只是一个简单而快速的解决方案,但它应该是有效的。
我希望这将对您有所帮助。

一个简单的解决方案是通过检查数组长度立即检查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();
}
这只是一个简单而快速的解决方案,但它应该是有效的。
我希望这将对您有所帮助。

一个简单的解决方案是通过检查数组长度立即检查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();
}
这只是一个简单而快速的解决方案,但它应该是有效的。
我希望这将对您有所帮助。

一个简单的解决方案是通过检查数组长度立即检查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();
}
这只是一个简单而快速的解决方案,但它应该是有效的。 我希望这会对你有所帮助。

只需将其与

if(键入op.equals(“removeplayer”)&&&&参数==null

移除所有玩家()

只需将其作为

if(键入op.equals(“removeplayer”)&&&&参数==null

移除所有玩家()

只需将其作为

if(键入op.equals(“removeplayer”)&&&&参数==null

移除所有玩家()

只需将其作为

if(键入op.equals(“removeplayer”)&&&&参数==null



移除所有玩家()

我不确定问题出在哪里。。。当用户仅在控制台中写入
removeplayer
时是否会发生错误?如果是这样,您必须检查str1.length是否为1。如果是,则分配
param=null
。如果不是,则分配
param=str1[1]
。是,现在可以通过检查str1的长度为1来工作。干杯我让它工作了。但是,一旦任何操作完成,这段代码[System.out.print(“>”;String str=in.nextLine();]会额外运行一次。我的三次手术都是这样。我调试并检查了问题所在,但我不知道问题出在哪里。有趣的是,上面的两行在某些操作中额外运行一次。编译器转到in.nextLine(),不要求我提供输入,然后在下一次迭代中重新运行,在该迭代中要求输入。一次迭代没有输入任何值。我不确定问题出在哪里。。。当用户仅在控制台中写入
removeplayer
时是否会发生错误?如果是这样,您必须检查str1.length是否为1。如果是,则分配
param=null
。如果不是,则分配
param=str1[1]
。是,现在可以通过检查str1的长度为1来工作。干杯我让它工作了。但是,一旦任何操作完成,这段代码[System.out.print(“>”;String str=in.nextLine();]会额外运行一次。我的三次手术都是这样。我调试并检查了问题所在,但我不知道问题出在哪里。有趣的是,上面的两行在某些操作中额外运行一次。编译器转到in.nextLine(),不要求我提供输入,然后在下一次迭代中重新运行,在该迭代中要求输入。一次迭代没有输入任何值。我不确定问题出在哪里。。。当用户仅在控制台中写入
removeplayer
时是否会发生错误?如果是这样,您必须检查str1.length是否为1。如果是,则分配
param=null
。如果不是,则分配
param=str1[1]
。是,现在可以通过检查str1的长度为1来工作。干杯我让它工作了。但是,一旦任何操作完成,这段代码[System.out.print(“>”;String str=in.nextLine();]会额外运行一次。我的三次手术都是这样。我调试并检查了问题所在,但我不知道问题出在哪里。有趣的是,上面的两行在某些操作中额外运行一次。编译器转到in.nextLine(),不要求我提供输入,然后在下一次迭代中重新运行,在该迭代中要求输入。一次迭代没有输入任何值。我不确定问题出在哪里。。。当用户仅在控制台中写入
removeplayer
时是否会发生错误?如果是这样,您必须检查str1.length是否为1。如果是,则分配
param=null
。如果不是,则分配
param=str1[1]
。是,现在可以通过检查str1的长度为1来工作。干杯我让它工作了。但是,一旦任何操作完成,这段代码[System.out.print(“>”;String str=in.nextLine();]会额外运行一次。我的三次手术都是这样。我调试并检查了问题所在,但我不知道问题出在哪里。有趣的是,上面的两行在某些操作中额外运行一次。编译器转到in.nextLine(),不要求我提供输入,然后在下一次迭代中重新运行,在该迭代中要求输入。其中一次迭代没有输入任何值。太棒了!!这很好用。非常感谢Nicola,我成功了。但是,一旦任何操作完成,这段代码[System.out.print(“>”;String str=in.nextLine();]会额外运行一次。我的三次手术都是这样。我调试并