两个整数求和
String a = "893333.....3333";
String b = "349......999";
求 a + b;
由于数字太长,只能存在String 里,不能整体转成int/long来加,只能一位一位的转成int来加,注意进位。
用一个for循环按每一位做加法,最后输出到一个String里。
/**
* 如何将char类型的数字转换成int型的数字
* StringBuffer 追加时,可以 在前面 追加吗
* @param a
* @param b
* @return
*/
public static String sumLargeInt(String a,String b){
int a1=a.toCharArray();
int a2 = b.toCharArray();
int i1= a1.length;
int i2 =a2.length;
int i11 = 0;//记录每次取出来的数
int i22 = 0;//
StringBuffer sb = new StringBuffer();
int shi = 0;//记录十位
for(int i=0;i<(i1>i2?i1:i2);i++){
int t1 = i11-i-1;
int t2= i22-i-1;
if(t1>=0){
i11 = a[t1];
}else{
i11=0;
}
if(t2>=0){
i22 = a[t2];
}else{
i22=0;
}
int temp=i11+i22+shi;
if(temp>10){
sb.insert(0,temp%10);
shi=1;
}else{
sb.insert(0,temp);
shi=0;
}
}
if(shi>0){
sb.insert(0,shi);
}
return sb;
}