题目:
大数相加不能直接使用基本的int类型,因为int可以表示的整数有限,不能满足大数的要求。输入的两个大数可能正可能负
分析:
首先需要判断两个大数的正负号,使用字符串来模拟小学数学中的两个数的加减法。
代码:
/**
* 两个大数相加,输入的两个大数的正负号不确定
*/
public class Solution {
public static void main(String[] args) {
String str1 = "8541269855";
String str2 = "-6985326589745555";
//返回的结果
String res = null;
//如果两个大数都是负数
if(str1.charAt(0) == '-' && str2.charAt(0) == '-'){
str1 = str1.substring(1);
str2 = str2.substring(1);
res = bigNumberAdd(str1, str2);
res = "-" + res;
}
//如果两个大数中,一个负数,一个正数
else if(str1.charAt(0) == '-' || str2.charAt(0) == '-'){
if(str1.charAt(0) == '-'){
str1 = str1.substring(1);
if(compare(str1, str2) ==