美文网首页
大数相加最清晰的代码——Java

大数相加最清晰的代码——Java

作者: 阡陌哥哥 | 来源:发表于2019-09-19 09:00 被阅读0次

看到网上写大数相加的代码,写的都不是很清楚,好几个循环弄得人晕头转向,自己写了个只有一个循环的代码,请大家指教。

public static String bigNumberAdd(String s1, String s2) {
        
        char[] a1 = s1.toCharArray();
        char[] a2 = s2.toCharArray();
        int len1 = a1.length;
        int len2 = a2.length;
        int i = len1 - 1, j = len2 - 1;
        int m = 0; //当前位上要相加的数
        int n = 0; //余数
        int num1 = 0, num2 = 0;
        StringBuffer s = new StringBuffer();
        while (i >= 0 || j >= 0) {
            if (i >= 0) {
                num1 = a1[i] - '0';
            } else {
                num1 = 0;
            }
            if (j >= 0) {
                num2 = a2[j] - '0';
            } else {
                num2 = 0;
            }
            
            int sum = num1 + num2 + n;
            m = sum % 10;
            n = sum / 10;
            char c = (char)(m + '0');
            s.append(c);
            i--;
            j--;
        }
        if (n != 0) {
            s.append('1');
        }
        
        s.reverse();
        return s.toString();
    }

相关文章

  • 大数相加最清晰的代码——Java

    看到网上写大数相加的代码,写的都不是很清楚,好几个循环弄得人晕头转向,自己写了个只有一个循环的代码,请大家指教。

  • 大数相加代码分析

    今天看到一段代码,实现两个比较大的数相加。当然有其他简单的方法解决,这里仅仅分析一下; 控制台结果 分析一下 a ...

  • 大数相加

    大数相加(java) 一、BigDecimal工具类 二、转换为字符串解法

  • Java实现大数相加

    package com.rm; import java.util.ArrayList;import java.ut...

  • 前端-大数相加

    大数相加

  • 大数相乘、大数相加、大数相减(Java版)

    大数相乘 假设有A和B两个大数,位数分别为a和b。根据我们平常手动计算乘法的方式可以看出,最终的结果的位数c一定小...

  • 大数相加

    大数相加类

  • POJ1000

    问题描述### 两个数相加求和 难点### 无~ 代码实现### package poj; import java...

  • JSCoding

    大数相加 深拷贝

  • JS大数字相加

    问:如何计算大数字的相加?大到可以溢出的那种。 大数字相加,避免使用传统的相加(可能会溢出),所以使用数学题的思路...

网友评论

      本文标题:大数相加最清晰的代码——Java

      本文链接:https://www.haomeiwen.com/subject/kvidyctx.html