public class BigNumAdd {
public static void main(String[] args) { String num1 = "92345"; String num2 = "92345"; String sum = bigNumberAdd(num1, num2); System.out.print(sum); }
public static String bigNumberAdd(String f, String s) { char[] a = new StringBuffer(f).reverse().toString().toCharArray(); char[] b = new StringBuffer(s).reverse().toString().toCharArray(); int len = a.length > b.length ? a.length : b.length; int[] sum = new int[len + 1];
int inc = 0; for (int i = 0; i < len; i++) { int inta = i < a.length ? a[i] - '0' : 0; int intb = i < b.length ? b[i] - '0' : 0; inc = inc + inta + intb; sum[i] = inc % 10; inc /= 10; } if (inc == 1) sum[len] = 1;
boolean flag = true; StringBuffer sb = new StringBuffer(); for (int i = len; i >= 0; i--) { if (sum[i] == 0 && flag) continue; else flag = false; sb.append(sum[i]); }
return sb.toString();
}
}