拆分方法无法按预期工作

时间:2013-07-22 19:54:24

标签: java string indexoutofboundsexception

我尝试使用Split Function将输入String by Space字符分隔为String Array但没有任何事情发生。

我使用了这段代码:

String a;
String[] b = new String[4];
a=input.next(); // input : 1 2 3 4
b=a.split(" "); // or b=a.split("\\s+");
/* output : b[0]=1 , b[1]=Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
*/

但是当我定义这样的值时:

String a="1 2 3 4";

一切都成功完成。

我该怎么办?

1 个答案:

答案 0 :(得分:2)

假设inputScanner ...

next()方法将返回下一个标记,默认情况下为Scanner separates input by whitespace。当split为您输入标记输入时,您无需Scanner输入。

  

扫描仪使用分隔符模式将其输入分解为标记,   默认情况下匹配空格。然后可以得到所产生的令牌   使用各种下一个转换为不同类型的值   方法

或者,您可以使用input.nextLine()获取整行,然后您可以自己split这行。