0.前言
最近在做一道编程竞赛题时遇到大整数的处理,想到了BigInteger,但是遇到了一个小问题却让我调试了很久,简记一下,以便查看。
1.问题
求和:
BigInteger sum = new BigInteger(0+"");
sum.add(new BigInteger(100+""));
那么上面个程序执行后,sum的值是多少呢?
答案是0。
正确写法如下
BigInteger sum = new BigInteger(0+"");
sum = sum.add(new BigInteger(100+""));
所以在做题时,我要统计求和,但是结果一直是0,很是无语。最后发现BigInteger的add方法(其余方法类似)是求和后返回一个BigInteger对象,并不是将sum值进行修改。
BigDecimal类似。
网友评论