2012-11-03 84 views
3

我想將以下biginteger拆分爲數字並將其放入數組中。將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,} 

我該怎麼做?謝謝。我搜索了它,但找不到更好的答案。

回答

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))) 
} 
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); 
} 
+0

+1雖然我不要求回答,我很喜歡解決方案! – Patton