package com.dream.test06;
public class MyBigInteger {
private String str;
public MyBigInteger() {
super();
}
public MyBigInteger(String str) {
super();
this.str = str;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public MyBigInteger add(MyBigInteger myBigInteger){
char[] charArray1 = this.str.toCharArray();
char[] charArray2 = myBigInteger.str.toCharArray();
int index1=charArray1.length-1;
int index2=charArray2.length-1;
int num1=0;
int num2=0;
int num3=0;
StringBuffer sb = new StringBuffer();
while(index1>=0 ||index2>=0){
if (index1>=0) {
num1 = Integer.valueOf(Character.toString(charArray1[index1]));
}else {
num1=0;
}
if (index2>=0) {
num2 = Integer.valueOf(Character.toString(charArray1[index2]));
}else {
num2=0;
}
int result=num1+num2+num3;
if (result>=10) {
num3=1;
result%=10;
} else {
num3=0;
}
sb.append(result);
index1--;
index2--;
}
if (num3==1) {
sb.append(num3);
}
sb.reverse();
return new MyBigInteger(sb.toString());
}
@Override
public String toString() {
return str;
}
}
package com.dream.test06;
public class Test01 {
public static void main(String[] args) {
MyBigInteger myBigInteger1 = new MyBigInteger("123456789");
MyBigInteger myBigInteger2 = new MyBigInteger("123456789");
System.out.println(myBigInteger1.add(myBigInteger2));
}
}