1

スペースなどの特殊文字で文字列を分割する方法を知っています。

String numbers = "22 14 10 8 70";
int [] n1 = new int [numbers.length()];
for(int n = 0; n < numbers.length(); n++) {
    n1[n] = Integer.parseInt(numbers.split(" ")[n]);
}

しかし、文字列を数値以外の(負符号と浮動小数点も)タイプの文字で分割したいと思います。この文字列のように:

String numbers = "22+14/10*8-70";
4

3 に答える 3

3

このアルゴリズムShunting-yard algorithm を試してください。

shunting-yard アルゴリズムは、中置表記で指定された数式を解析する方法です。

于 2013-03-29T17:24:25.140 に答える
0

使用可能な式を最初にPostfix式に変換してから評価することもできます。これについての説明です。

于 2013-03-29T17:35:48.877 に答える
-1

String.split()は、正規表現文字列を分割できます。

String numbers = "22+14/10*8-70";
String[] elements = numbers.split("[^0-9\\.]");
for(String e : elements)
{
    System.out.println("Element: " + e);
}

版画:

Element: 22
Element: 14
Element: 10
Element: 8
Element: 70
于 2013-03-29T17:18:02.007 に答える