看到網(wǎng)上寫大數(shù)相加的代碼集绰,寫的都不是很清楚十电,好幾個(gè)循環(huán)弄得人暈頭轉(zhuǎn)向,自己寫了個(gè)只有一個(gè)循環(huán)的代碼肥橙,請(qǐng)大家指教魄宏。
public static String bigNumberAdd(String s1, String s2) {
char[] a1 = s1.toCharArray();
char[] a2 = s2.toCharArray();
int len1 = a1.length;
int len2 = a2.length;
int i = len1 - 1, j = len2 - 1;
int m = 0; //當(dāng)前位上要相加的數(shù)
int n = 0; //余數(shù)
int num1 = 0, num2 = 0;
StringBuffer s = new StringBuffer();
while (i >= 0 || j >= 0) {
if (i >= 0) {
num1 = a1[i] - '0';
} else {
num1 = 0;
}
if (j >= 0) {
num2 = a2[j] - '0';
} else {
num2 = 0;
}
int sum = num1 + num2 + n;
m = sum % 10;
n = sum / 10;
char c = (char)(m + '0');
s.append(c);
i--;
j--;
}
if (n != 0) {
s.append('1');
}
s.reverse();
return s.toString();
}