高精度加法运算,我写的很菜,望见谅咯!
import java.util.Scanner;
/*
* java 高精度加法运算 每个整数的位数小于等于1000位
*
* */
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
// PrintWriter out=new PrintWriter(System.out);
String A = sc.nextLine();
String B = sc.nextLine();
int alen = (A.length() > B.length()) ? A.length() : B.length();
int blen = (A.length() < B.length()) ? A.length() : B.length();
String strTemp = "";
for (int i = alen - blen; i > 0; i--) {
strTemp += "0";
}
if (A.length() > B.length()) {
B = strTemp + B;
} else {
A = strTemp + A;
}
char[] aa = A.toCharArray();
char[] bb = B.toCharArray();
int[] a = new int[alen];
int[] b = new int[alen];
for (int i = 0; i < alen; i++) {
a[i] = aa[i] - 48;
b[i] = bb[i] - 48;
}
int[] sum = new int[a.length];
for (int i = a.length - 1; i >= 0; i--) {
sum[i] = a[i] + b[i] + sum[i];
if (sum[i] >= 10) {
sum[i - 1]++;
sum[i] -= 10;
}
}
for (int i = 0; i < sum.length; i++) {
System.out.print(sum[i]);
}
}
}
/*
* 68932147586 +468711654886 = 537643802472
*/