1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
class DemoJavaA { static Integer carry = 0; public static void main(String[] args) { String s1 = "1231823742198742198429492183492184792"; String s2 = "5873294573295872345872352387523984584"; add(s1, s2); } public static void add(String a, String b) { String s = ""; int i = a.length() - 1; int j = b.length() - 1; while (true) { int i1 = Integer.parseInt(Character.toString(a.charAt(i))); int i2 = Integer.parseInt(Character.toString(b.charAt(j))); Integer i3 = i1 + i2 + carry; if (i3 > 9) { carry = 1; i3 = i3 - 10; } else { carry = 0; } s = s + i3; i--; j--; if (i < 0) { if (carry > 0) { s = s + carry; } break; } } System.out.println(" r = " + (new StringBuilder(s)).reverse()); } } |