-3

文字列があります。存在"(3+3)*(4-2)(+(+("する場所で分割するために(、最初にreplaceメソッドを使用して指定された文字列を置き換えました次+に、新しい配列の長さを見つけたかったのです。指定された文字列には5がある(ため、配列の長さは5 ですが、2 になります。

String x =String x ="(3+3)*(4-2)(((";
    String y=x.replace("(", "_");
    String z[]=y.split("_");

    System.out.println(y);

    System.out.println("length  "+z.length);

出力は

_3+3)*_4-2)___

長さ 3

編集

間違えました。コードの一部を投稿していたので、間違いがありました。更新されたコードを参照してください。

4

5 に答える 5

2

("_") で分割したいということだと思いますが、

String z[]=y.split("-");

したがって、-notで分割されます_

したがって、配列の2つの部分は

_3+3)*_4

2)_+_+_

編集:

の後String z[]=y.split("_");、あなたが得ている長さ3は絶対に正しいです. 以下に示すように:

-->(空白) firstElement

_(split on first _ )

--> 3+3)* secondElement

_(split on second_ )

-->4-2) thirdElement

于 2013-09-06T07:49:48.653 に答える
1
String z[]=y.split("_");

それ以外の

String z[]=y.split("-");

これを試して、

    String x = "____";
    String z[] = x.split("_");
    System.out.println("length  " + z.length);

出力length 0

于 2013-09-06T07:50:33.827 に答える
1

引数「-」で分割しないでください。代わりに「_」を使用してください。

于 2013-09-06T07:50:44.470 に答える
0
String z[]=y.split("-");
z[0] = "_3+3)*_4";
z[1] = "2)_+_+_";

だからz.length == 2。で分割したくない場合を除き、ここに欠陥はありません_

于 2013-09-06T07:50:35.240 に答える