我尝试使用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";
一切都成功完成。
我该怎么办?
答案 0 :(得分:2)
假设input
是Scanner
...
next()
方法将返回下一个标记,默认情况下为Scanner
separates input by whitespace。当split
为您输入标记输入时,您无需Scanner
输入。
扫描仪使用分隔符模式将其输入分解为标记, 默认情况下匹配空格。然后可以得到所产生的令牌 使用各种下一个转换为不同类型的值 方法
或者,您可以使用input.nextLine()
获取整行,然后您可以自己split
这行。