如果有人能帮我,那就太棒了。
我正在尝试使用java的split命令,使用空格分割字符串,但问题是,可能字符串没有空格,这意味着它将只是一个简单的顺序(不是“enter 2”,而是“exit”)
Scanner SC = new Scanner(System.in);
String comando = SC.nextLine();
String[] comando2 = comando.split("\\s+");
String first = comando2[0];
String second = comando2[1];
当我尝试这个方法时,如果我写“enter3”就行了,因为“first=enter”和“second=3”,但是如果我写“exit”,它会抛出一个错误,因为second没有值。我想拆分字符串,因此当我尝试执行此操作时,请执行以下操作:
if ( comando.equalsIgnoreCase("exit"))
// something here
else if ( first.equalsIgnoreCase("enter"))
// and use String "second"
有人能帮忙吗?谢谢您!
3条答案
按热度按时间wfauudbj1#
为什么不检查它是否有空格,如果有,则进行不同的处理:
wlp8pajw2#
在确定数组中的第二个元素存在之前,不要尝试访问它。例子:
注意这段代码是如何检查的
comando2.length
在尝试访问comando2
. 你也应该这么做。fhg3lkii3#
这个怎么样?
您的问题是,您在知道数组元素是否存在之前就访问了它。这样,如果数组足够长,就可以得到值;如果数组不够长,就可以得到null。
表达式
a ? b : c
计算结果为b
如果a
是真是假c
如果a
是假的。这个? :
算子称为三元算子。