4

次のbigintegerを数字に分割して配列に入れたいです。

BigInteger = 123456789123456789123456789123456789
array[]={1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,}

これを行うにはどうすればよいですか?ありがとうございます。検索しましたが、より良い答えが見つかりませんでした。

4

2 に答える 2

5

次のように実行できます。

BigInteger value = new BigInteger("123456789123456789123456789123456789");
List<Integer> list = new ArrayList<Integer>();
BigInteger ten = new BigInteger("10");
while (!value.equals(BigInteger.ZERO))
{
    list.add(0, value.mod(ten).intValue());
    value = value.divide(ten);
}
于 2012-11-03T06:18:27.253 に答える
1

toString各文字を実行して、のint配列に追加するだけですint

String biStr = bi.toString();
int[] ints = new int[biStr.length()];
for(int i=0; i<biStr.length(); i++) {
    ints[i] = Integer.parseInt(String.valueOf(biStr.charAt(i)))
}
于 2012-11-03T06:17:31.667 に答える