Loop to add string of number

samuel :

I try for an exercice to add

String nb = "135";
String nb2 = "135";

Result should be a String of "270"

I have no idea how to do that...I try to make a for loop and make an addition : nb.charAt(i) + nb2.charAt(i) but with no succes, I don't know what I have to do with the carry over.

EDIT : I try to don't use Integer or BigInteger, only String this is why I try to use a for loop.

Thanks for clue.

SHIVANSH NARAYAN :

String str = "";

// Calculate length of both String  
int n1 = nb.length(), n2 = nb2.length();  
int diff = n2 - n1;  

// Initially take carry zero  
int carry = 0;  

// Traverse from end of both Strings  
for (int i = n1 - 1; i>=0; i--)  
{  
    // Do school mathematics, compute sum of  
    // current digits and carry  
    int sum = ((int)(nb.charAt(i)-'0') +  
        (int) nb2.charAt(i+diff)-'0') + carry);  
    str += (char)(sum % 10 + '0');  
    carry = sum / 10;  
}  

// Add remaining digits of nb2[]  
for (int i = n2 - n1 - 1; i >= 0; i--)  
{  
    int sum = ((int) nb2.charAt(i) - '0') + carry);  
    str += (char)(sum % 10 + '0');  
    carry = sum / 10;  
}  

// Add remaining carry  
if (carry > 0)  
    str += (char)(carry + '0');  

// reverse resultant String 
return new StringBuilder(str).reverse().toString();

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=316782&siteId=1