【发布时间】:2013-02-07 02:41:47
【问题描述】:
我正在尝试将一个字符串拆分为一个字符串数组,但是当它拆分字符串时,只有 第一部分,在拆分之前,位于 [0] 插槽中的数组中,但在 [1] 或更高版本中没有任何内容。这在尝试输出 spliced[1] 时也会返回 java 异常错误
import java.util.Scanner;
public class splittingString
{
static String s;
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Enter the length and units with a space between them");
s = input.next();
String[] spliced = s.split("\\s+");
System.out.println("You have entered " + spliced[0] + " in the units of" + spliced[1]);
}
}
【问题讨论】:
-
对代码块使用一致且符合逻辑的缩进。代码的缩进是为了帮助人们理解程序流程。
-
您是否已验证输入是否符合您的预期。
-
我试过用“\\s”和“”分割同样的问题,如果你打印出数组的长度它总是1
-
尝试使用标记器和循环并将每个标记分配给数组docs.oracle.com/javase/6/docs/api/java/util/…
-
如果数组的长度为 1,那么它只有 spliced[0] 中的一个元素,尝试访问 spliced[1] 会抛出一个 IndexOutOfBoundsException。你能打印 s 让我们知道它是什么吗?
标签: java string split java.util.scanner arrays