0

仮定:

  1. String Array の各 String は Double 型です。

  2. 文字列配列内の一部の文字列は null である可能性があります。

  3. String Array 内の文字列が null の場合は、Integer Array 内の対応する Integer の値が 0 になる必要があります。

編集:正常に変換した後、この作成された整数配列を返したいと思います。

文字列がnullの場所で立ち往生し、文字列がnullの場所でNumberFormatExceptionを取得しています。

前もって感謝します。

4

4 に答える 4

3

String を Double に変換する前に、if ステートメントを使用して、String が null と等しいかどうかを確認します。

String が null に等しい場合は、0 を Integer 配列に移動します。そうでない場合は、String から Double への変換を行い、Double を Integer に変換し、Integer を Integer Array に入れます。

于 2012-12-31T14:07:28.337 に答える
3

お役に立てれば!

    public class Test {

        public static void main(String[] args) {
            String[] strArray = {"1.1", "2.2", null, "3.3"};
            Integer[] intArray = new Integer[4];
            for (int i = 0; i < strArray.length; i++) {
                intArray[i] = (strArray[i] == null) ? 0 : (int) Double.parseDouble(strArray[i]);
            }
            System.out.println("String array = ");
            for (String str : strArray) {
                System.out.print(str + " ");
            }
            System.out.println();
            System.out.println("Integer array = ");
            for (Integer integer : intArray) {
                System.out.print(integer + " ");
            }
        }
    }
于 2012-12-31T14:23:27.067 に答える
2

単純な三項演算子がそれを行います:

String[] s = //Array instantiation
double d = new double[s.length];
for(int i = 0; i < s.length; i++)
{
    d[i] = s[i] == null ? 0 : Double.parse(s[i]);
}
于 2012-12-31T14:12:31.433 に答える
2

double を格納していても、文字列を整数に変換したいですか? もしそうなら、このようなものがうまくいくはずです:

for (int i = 0; i < stringArray.length; i++) {
    String s = stringArray[i];
    if (s == null || s.isEmpty()) {
        integerArray[i] = new Integer(0);
    } else {
        integerArray[i] = new Integer(s.substring(0,s.indexOf(".")));
    }
}
于 2012-12-31T14:15:31.103 に答える