题解 | #高精度整数加法#
高精度整数加法
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());
}
}
两个字符串相加,先逆序然后再相加即可
