JR 精品文章 - 超长整数加法算法实现(不调用java.math.*;)
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » Java入门 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
超长整数加法算法实现(不调用java.math.*;)
sword0729 原创   更新:2008-05-01 01:50:51  版本: 1.0   

public class MathAdd {
    
    public static void main(String[] args){
        String addA="30812";
        String addB="208";
        System.out.println(addA+"+"+addB+"="+strvalue(addA,addB));
    }
    
    public static String strvalue(String addA,String addB){
        String strvalue="";
        int lenA=addA.length();
        int lenB=addB.length();
        int templen=0;
        //调整长度相同
        if(lenA>=lenB){
            templen=lenA-lenB;
            addB=maxlen(addB,templen);
        }else{
            templen=lenB-lenA;
            addA=maxlen(addA,templen);
        }
        char addcharA[]=addA.toCharArray();
        char addcharB[]=addB.toCharArray();
        int len=addcharA.length;
        int valueC[]=new int[len];
        for(int i=0;i<len;i++){
            int a=Integer.parseInt(String.valueOf(addcharA[i]));
            int b=Integer.parseInt(String.valueOf(addcharB[i]));
            valueC[i]=a+b;
            }//每项相加存储
        int tmp=0;
        //处理进位
        for(int i=valueC.length-1;i>=0;i--){
            if(valueC[i]>=10){
                strvalue=String.valueOf(valueC[i]+tmp-10)+strvalue;
                tmp=valueC[i]/10;
            }else{
                strvalue=String.valueOf(valueC[i]+tmp)+strvalue;
                tmp=0;
            }
        }
        return strvalue;
    }
    
    //调整长度,使其长度一样
    private static String maxlen(String str,int templen){
        String strmax=null;
        StringBuffer buff=new StringBuffer();
        for(int i=0;i<templen;i++){
            buff.append("0");
        }
        strmax=buff.toString()+str;
        return strmax;
    }
}

版权声明   给作者写信
本篇文章对您是否有帮助?  投票:         投票结果:     15       1
作者其它文章: 作者全部文章
评论人:wlpava 发表时间: Thu May 01 21:00:37 CST 2008
thank you
评论人:bluemaple_00 发表时间: Mon May 12 16:52:50 CST 2008
不错~~
一点建议~~关键地方加上异常捕捉会更安全一些~~~~[:E]

这个文章共有 2 条评论
主题: Class对象的作用与产生 上一篇文章
返回文章列表 返回〔Java入门〕
下一篇文章 主题: JAVA反射机制


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号