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