-1

我尝试使用拆分函数将输入字符串按空格字符分隔为字符串数组,但没有发生任何事情。

我使用了这段代码:

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";

一切都顺利完成。

我应该怎么办?

4

1 回答 1

2

假设input是一个Scanner...

next()方法将返回下一个标记,默认情况下,Scanner用空格分隔输入。当您已经为您标记split输入时,您不需要输入。Scanner

Scanner 使用分隔符模式将其输入分解为标记,默认情况下匹配空格。然后可以使用各种 next 方法将生成的标记转换为不同类型的值。

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

于 2013-07-22T19:57:28.733 回答