добавить большие номера строк - PullRequest
0 голосов
/ 12 ноября 2018

Я хочу создать статический метод, который принимает две строки, которые представляют два числа (любое количество цифр) и возвращает результат добавления их в виде строки. Цель этого состоит в том, чтобы иметь возможность добавлять большие числа, поскольку вы знаете, что целые числа имеют ограниченный диапазон, однако я не хочу использовать массивы в своем решении.

вот мой код (при условии, что длина 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;
}

} я хочу знать, правильный ли мой код, а также узнать причину ошибки исключения.

...