-1

我想从字符串中拆分字符串、整数和双精度数。该字符串在文本框中输入,可以包含所有三个。(例如:Hello 13 94 3,2 6.4 bye)我想将它们拆分并总结。然后我想把它们展示给一个标签。

所以标签应该说: String: Hello bye Int: 107 Double: 9,6

任何人都可以让我开始吗?我不允许使用拆分功能。

4

2 回答 2

1

好吧,如果没有拆分,您就可以逐个搜索并检测您正在阅读的内容。如果它有字母,它的字符串,如果是点或逗号,它的双精度。并在每次找到空间时重置此检测。这几乎就是你所需要的。

问候

于 2013-05-17T08:26:30.307 回答
0

如果您只允许根据当前语言环境指定小数点的方式,那么可以使用Scanner优雅地解决这个问题:

Scanner sc = new Scanner(inputString);

while (sc.hasNext()) {
    if (sc.hasNextInt()) {
       // It is an integer
       sc.nextInt();
    } else if (sc.hasNextDouble()) {
       // It is a double
       sc.nextDouble();
    } else {
       // Neither, so treat it as string
       sc.next();
    }
}

实际上,Scanner类在构成double. 查看Scanner 类文档中有关数字语法的语法

请注意,标记必须用空格分隔(由 定义\p{javaWhitespace})。可以定义不同的分隔符,但需要明确定义在您的情况下构成分隔符的内容。

,同时允许和.作为小数分隔符实际上没有多大意义。345,234就是这样一个例子,不清楚这个数字应该是几十万还是几百。Locale用户应该在他们的系统上使用适当的小数分隔符和千位分隔符。

于 2013-05-17T08:48:58.410 回答