您的位置:首页 > 其它

大数相加

2015-10-11 00:00 204 查看
public class BigNumAdd {

public static void main(String[] args) {
String num1 = "92345";
String num2 = "92345";
String sum = bigNumberAdd(num1, num2);
System.out.print(sum);
}

public static String bigNumberAdd(String f, String s) {
char[] a = new StringBuffer(f).reverse().toString().toCharArray();
char[] b = new StringBuffer(s).reverse().toString().toCharArray();
int len = a.length > b.length ? a.length : b.length;
int[] sum = new int[len + 1];

int inc = 0;
for (int i = 0; i < len; i++) {
int inta = i < a.length ? a[i] - '0' : 0;
int intb = i < b.length ? b[i] - '0' : 0;
inc = inc + inta + intb;
sum[i] = inc % 10;
inc /= 10;
}
if (inc == 1)
sum[len] = 1;

boolean flag = true;
StringBuffer sb = new StringBuffer();
for (int i = len; i >= 0; i--) {
if (sum[i] == 0 && flag)
continue;
else
flag = false;
sb.append(sum[i]);
}

return sb.toString();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: