public static String add(String str1,String str2){
int m=str1.length();
int n=str2.length();
if(m!=n){
byte[] buff=new byte[m>n?m-n:n-m];
for(int k=0;k<buff.length;k++){
buff[k]='0';
}
String buf=new String(buff);
if(m>n)
str2=buf+str2;
else
str1=buf+str1;
}
byte[] a=str1.getBytes();
byte[] b=str2.getBytes();
int len=m>=n?m:n;
byte[] c=new byte[len+1];
int add=0;
int t=len;
for(len=len-1;len>=0;len--){
int temp=a[len]-'0'+b[len]-'0'+add;
add=temp/10;
temp=temp%10;
c[t--]=(byte) (temp+'0');
}
c[t]=(byte) (add+'0');
String res=new String(c);
return res;
}