9

Double.valueOf(line.split(",")[1]) 私はよく知っていると遭遇したコードに出くわしました。私の問題は、文の意味Double.valueOf()を理解することです。[1]ドキュメントを検索しても何も見つかりませんでした。

while ((line = reader.readLine()) != null)
                double crtValue = Double.valueOf(line.split(",")[1]);
4

4 に答える 4

14

lineyourがコンマで区切られた数値の文字列であることを意味します。
例えば:"12.34,45.0,67.1"

は文字列のline.split(",")配列を返します。
例えば:{"12.34","45.0","67.1"}

line.split(",")[1]配列の2 番目(インデックスが 0 から始まるため) の項目を返します。
例えば:45.0

于 2016-04-04T13:27:37.363 に答える
3

ジャワpublic String[] split(String regex)

指定された正規表現の一致に基づいてこの文字列を分割します。

これ

戻り値:この文字列を指定された正規表現の一致で分割することによって計算された文字列の配列

したがって、[1]は で見つかった配列の 2 番目の項目を取得しString[]ます。

于 2016-04-04T13:29:49.443 に答える
3

これは、実際には数値である where でline始まる文字列であることを意味します。a,bb

crtValuedouble値ですb

于 2016-04-04T13:28:11.250 に答える
2

doubleコードは から 2 番目の値を取得しようとしますreader.readLine()


  1. String numbers = "1.21,2.13,3.56,4.0,5";
  2. String[] array = numbers.split(",");入力行をコンマで分割します
  3. String second = array[1];配列から 2 番目の要素を取得します。Java 配列の記数法は0インデックスから始まります。
  4. double crtValue = Double.valueOf(second);Stringに変換double

NumberFormatException文字列に parseable が含まれていない場合にスローされる可能性があることを忘れないでくださいdouble

于 2016-04-04T13:27:45.327 に答える