在int数组中存储多个零

时间:2016-03-04 15:36:17

标签: java arrays

我正在尝试在Java中实现BigInteger逻辑。我以String的形式获取输入并将其转换并存储到int数组。

现在,在执行两个整数数组的添加时,会出现问题。

例如:

int first_array[0]=999999999
int Second_array[0]=1;

我会得到1000000000的加法值,我将把第10位作为结转。

carry_over=(first_array[0]+Second_array[0])/1000000000 ;//1

add_array[0]=(first_array[0]+Second_array[0])%1000000000 ;//000000000

我对add_array[0]的期望是000000000,但是它存储为0.也就是说,它将它存储为单个零而不是九个零。

有什么办法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

它与000000000相同。数组的结果应该相同。唯一的问题是当数字作为字符串打印覆盖" BigInteger"中的toString()方法时。因此,对于每个位置,它调用String.format("%09d%n",n)。然后,您将用n个9位数代表任意数字

答案 1 :(得分:0)

不要将格式数据混淆

000000000与0相同。

前导零会导致问题,因为前导零意味着八进制字面值。