java —— 这个题目真的是A+B(大数据相加)
计算A+B的值
输入格式:
两个正整数A,B
输出格式:
A+B的值
限制:
A,B<=10^1000
样例:
输入:
1 2
输出:
3
代码如下:(提供者:Jplusztx)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
char[] A = stdIn.next().toCharArray(); // 等于 String a = sc.nextLine();char[] A = a.toCharArray();
char[] B = stdIn.next().toCharArray(); //把输入string型转换成字符数组然后存储在我们的字符数组里
if (A.length < B.length){ // 无论数组A的元素个数是否大于B的,都将A转换成元素个数最多的
char[] t = A;
A = B;
B = t;
}
int[] ans = new int[1001];
for (int i = 1; i <= A.length; i++) {
int ai = A[A.length - i] - '0'; // 把数字字符转换成数字
int bi = i <= B.length?B[B.length -i]-'0':0; // 条件运算符 i 如果<= B.length,bi = B[B.length -i]-'0',否则 bi = 0;
ans[i - 1] += ai + bi; // (逆序转换)
if (ans[i - 1] >= 10) { // 进位
ans[i - 1] -= 10;
ans[i] += 1;
}
}
int index = ans.length - 1;
while (ans[index] == 0) index--; // 去除前导0
for (int i = index; i >= 0; i--) {
System.out.print(ans[i]);
}
}
}