题解 | #高精度整数加法#
高精度整数加法
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 的区别 StringBuilder a=new StringBuilder (in.nextLine()); StringBuilder b=new StringBuilder (in.nextLine()); int i=0,carry=0; a.reverse(); b.reverse(); StringBuilder ans=new StringBuilder(); while(i<a.length()||i<b.length()||carry!=0) { int num1=i>=a.length()?0:a.charAt(i)-'0'; int num2=i>=b.length()?0:b.charAt(i)-'0'; int cur=(num1+num2+carry)%10; carry=(num1+num2+carry)/10; ans.append((char)(cur+'0')); i++; } if(carry!=0) ans.append(carry); ans.reverse(); System.out.println(ans.toString()); } }
两个字符串相加,先逆序然后再相加即可