Se quiere sumar números grandes, tanto que no pueden almacenarse en variables de tipo long. Por lo que se piensa en introducir cada número como cadena de caracteres y realizar la suma extrayendo los dígitos de ambas cadenas; tener en cuenta que la cadena suma puede tener un carácter más que la máxima longitud de los sumandos.
public String addBigNumbers(String a, String b) { int aSize = a.length(); int bSize = b.length(); int size = Math.max(aSize, bSize) + 1; int aIndex = aSize - 1; int bIndex = bSize - 1; int sIndex = size - 1; int sum = 0; int carry = 0; int n = 0; char[] suma = new char[size]; while (sIndex >= 0) { if (aIndex >= 0 && bIndex >= 0) { n = Character.getNumericValue(a.charAt(aIndex)) + Character.getNumericValue(b.charAt(bIndex)) + carry; sum = n % 10; carry = n / 10; aIndex--; bIndex--; } else if (aIndex >= 0) {