两个纯数字字符串相加Java实现版

 

/**
 * 两个纯数字字符串相加,不能用大整数相加的方法,无论多长的数字均可以相加
 * 考虑进位
 */
public class TwoStringAdd {
    public static void solution(String num1, String num2) {
        StringBuffer sb = new StringBuffer();
        int len1 = num1.length();
        int len2 = num2.length();
        int carry = 0;
        for (int i = len1-1, j = len2-1; i >=0 || j >=0 || carry ==1 ; i--, j--) {
            int a = i < 0 ? 0 : num1.charAt(i) - '0';
            int b = j < 0 ? 0 : num2.charAt(j) - '0';
            int h = (a + b + carry) % 10;
            carry = (a + b + carry) / 10;
            sb.append(h);
        }
        System.out.println(sb.reverse().toString());
    }
    public static void main(String[] args) {
        solution("123", "877");
    }
}

  输出

1000

 

借鉴自B站视频

posted @ 2024-04-11 08:36  宝山方圆  阅读(70)  评论(0编辑  收藏  举报