下列输出结果是?
BigInteger one = new BigInteger("1");
BigInteger two = new BigInteger("2");
BigInteger three = new BigInteger("3");
BigInteger sum = new BigInteger("0");
sum.add(one);
sum.add(two);
sum.add(three);
LogUtils.e("sum:"+sum.toString());
1:BigInteger属于java.math.Bigteger
2:BigInteger构造方法有很多
//将BigInteger的十进制的字符串表示形式转换为Bigteger
BigInteger(String val)
//将指定基数的BigInteger的字符串表示形式转换为BigInteger
BigInteger(String value, int radix)
...
//如果要将int类型的2转换为BigInteger型,要写为
BigInteger four = new BigInteger("4");
3:BigInteger类模拟了所有的int类型数学操作,如add() ==+,divide==-等,但是需要注意进行数学运算时,不能直接使用数学运算符进行运算,必须使用其内部方法,而且其操作也必须为BigInteger型
如:对two.add("4")就是一种错误操作,因为4并没有改为BigInteger型
对于本题而言,sum返回一个BigInteger值并不改变原来的变量,所以sum的值始终为0
如果需要得到6,必须显示的返回
BigInteger one = new BigInteger("1");
BigInteger two = new BigInteger("2");
BigInteger three = new BigInteger("3");
BigInteger sum = new BigInteger("0");
BigInteger addOne = sum.add(one);
BigInteger addTwo = addOne.add(two);
BigInteger addThree = addTwo.add(three);
LogUtils.e("addThree:" + addThree.toString());