添加大字符串数字

时间:2018-11-12 07:40:06

标签: for-loop numbers parseint

我想创建一个静态方法,该方法需要两个表示两个数字的字符串  (任意数量的数字),并返回将它们添加为字符串的结果。 这样做的目的是能够添加大数,因为您知道整数的范围有限,但是我不想在解决方案中使用数组。

这是我的代码(假设n1长度> n2)

公共类LargeNumber {

public static void main(String[] args) {
    System.out.println(returnSum("138", "68"));
    System.out.println(returnSum("134548", "6668"));
}

public static String returnSum(String n1, String n2) {
    int n1L = n1.length();
    int n2L = n2.length();
    String total = "x";
    int extra = 0;

        for (int i = 0; i < n1L; i++) {
            String digit = n1.substring(n1L - i);
            int one = Integer.parseInt(digit);
            int two;
            if (i > n2L) {
                two = 0;
            } else {
                String digit2 = n2.substring(n2L - i);
                two = Integer.parseInt(digit2);
            }
            int num = one + two;
            if (extra > 0) {
                num = num + extra;
                extra = 0;
            } else {
                extra = 0;
            }
            if (num < 10) {
                total = Integer.toString(num) + total;
            } else {
                extra = (num / 10);
                int numT = num - extra * 10;
                total = Integer.toString(numT) + total;
            }
        }
    return total;
}

} 我想知道我的代码是否正确,也想知道Exception错误的原因。

0 个答案:

没有答案