题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case String a = in.next(); String b = in.next(); int len = Math.max(a.length(), b.length()); int alen = a.length(); int blen = b.length(); char [] arr = new char[len]; int num = 0; for (int i = 1 ; i <= len ; i++ ) { char ac = '0'; char bc = '0'; if (alen >= i) { ac = a.charAt(alen - i); } if (blen >= i) { bc = b.charAt(blen - i); } int anum = (int)( ac -'0'); int bnum = (int) (bc -'0'); int res = anum + bnum + num; if (res >= 10 ) { num = 1 ; arr[len - i] = (char)(res % 10 +'0'); } else { num = 0 ; arr[len - i] = (char)(res +'0'); } } StringBuffer sbuffer = new StringBuffer(); String re = String.valueOf(arr); if (num==1){ sbuffer.append("1"); } sbuffer.append(re); System.out.println(sbuffer); } } }