【Java】超大整数相加

【Java】超大整数相加

 

     
public class VeryBigNumAdd {      
         
   public static void main(String[] args) {      
       // TODO Auto-generated method stub      
            
       VeryBigNumAdd vbn=new VeryBigNumAdd();      
       String a="523453243455535634535252345234677576252241234123523453664563634";      
       String b="523453243455535634535252345234677576252241234123523453664563634";      
       String result=vbn.doAdd(a,b);      
       System.out.println("result:"+result);      
    }      
         
    String doAdd(String a,String b)      
    {      
       String str="";      
       int lenA=a.length();      
       int lenB=b.length();      
       int maxLen=(lenA>lenB) ? lenA : lenB;      
       int minLen=(lenA<lenB) ? lenA : lenB;      
       String strTmp="";      
       for(int i=maxLen-minLen;i>0;i--)      
       {      
           strTmp+="0";      
       }      
       //把长度调整到相同      
       if(maxLen==lenA)      
       {      
           b=strTmp+b;      
       }else     
           a=strTmp+a;      
       int JW=0;//进位      
       for(int i=maxLen-1;i>=0;i--)      
       {               
           int tempA=Integer.parseInt(String.valueOf(a.charAt(i)));      
           int tempB=Integer.parseInt(String.valueOf(b.charAt(i)));      
           int temp;      
           if(tempA+tempB+JW>=10 && i!=0)      
           {      
              temp=tempA+tempB+JW-10;      
              JW=1;      
           }      
           else     
           {      
              temp=tempA+tempB+JW;      
              JW=0;      
           }               
           str=String.valueOf(temp)+str;               
       }      
       return str;      
    }      
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值