大數(shù)相加最清晰的代碼——Java

看到網(wǎng)上寫大數(shù)相加的代碼,寫的都不是很清楚,好幾個循環(huán)弄得人暈頭轉(zhuǎn)向,自己寫了個只有一個循環(huán)的代碼,請大家指教。

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; //當(dāng)前位上要相加的數(shù)
        int n = 0; //余數(shù)
        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();
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容