题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
import java.util.Scanner; // 注意类名必须为 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(); if(a.length()<b.length()){ String temp = b; b=a; a=temp; } int bLength = b.length()-1; int jw = 0; StringBuilder result = new StringBuilder (); for(int i=a.length()-1; i>=0; i--){ int sumSub = Integer.parseInt(a.substring(i,i+1)); if(bLength>=0){ sumSub = sumSub +Integer.parseInt(b.substring(bLength,bLength+1))+jw; }else{ sumSub = sumSub+jw; } jw = sumSub>=10?1:0; //是否为长数字最左一位,若是最左一位且存在进位 if(i==0&&jw==1){ result.append(sumSub%10); result.append(sumSub/10); }else{ result.append(sumSub%10); } bLength = bLength-1; } System.out.println(result.reverse().toString()); } } }