Я хочу создать статический метод, который принимает две строки, которые представляют два числа
(любое количество цифр) и возвращает результат добавления их в виде строки.
Цель этого состоит в том, чтобы иметь возможность добавлять большие числа, поскольку вы знаете, что целые числа имеют ограниченный диапазон, однако я не хочу использовать массивы в своем решении.
вот мой код (при условии, что длина 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;
}
}
я хочу знать, правильный ли мой код, а также узнать причину ошибки исключения.