一个编程练习题,我没有答案。请赐教。
我想不明白。100000000000000 + 200000000000000 = 300000000000000
(每个数字一共是14个零)如果是1,2,3后面是28个零呢?算法是?有几种方法?

解决方案 »

  1.   

         BigDecimal d1 = new BigDecimal("100000000000000");
         BigDecimal d2 = new BigDecimal("200000000000000");
         System.out.println(d1.add(d2));
      

  2.   

    这个的确用BigDecimal处理比较方便.
    或者自己写算法,搜一下大整数加法可以得到很多
      

  3.   

    java 进行超大数运算应该考虑BigDecimal,不然会出现溢出错误.
    而且像你这样的代码相信任何一款流行的IDE都可以在编译前的提示错误.
      

  4.   


     这样写不行 
    BigDecimal  最多也就十位 
    这个已经编译出错了`
     所以得另想办法
      
    转换成 sring 应该 可以`做到 
    没去测试````
      

  5.   

        BigDecimal d1 = new BigDecimal("100000000000000000000000000000");
        BigDecimal d2 = new BigDecimal("20000000000000000000000000");
        System.out.println(d1.add(d2));这样都是可以的,7楼的别胡说。
      

  6.   

    BigDecimal d1 = new BigDecimal("100000000000000000000000000000");
        BigDecimal d2 = new BigDecimal("20000000000000000000000000");
        System.out.println(d1.add(d2));
    这个没有问题。
      

  7.   

      BigDecimal d1 = new BigDecimal("100000000000000"); 
        BigDecimal d2 = new BigDecimal("200000000000000"); 
        System.out.println(d1.add(d2)); 
      

  8.   

    一般计算要精确的 就用BigDecimal.
      

  9.   

    BigDecimal 没问题,说不行的应该是他没有导入math包!