描述
以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param num1 string字符串 表示第一个整数
* @param num2 string字符串 表示第二个整数
* @return string字符串
*/
public String solve(String num1, String num2) {
//生明一个可变字符串,存储将来两数相加的
StringBuilder s=new StringBuilder();
//字符串的下标,是从零开始的i j是代表 add将来表示进位数 一般为1
int i=num1.length()-1,j=num2.length()-1;int add=0;
//循环遍历
for(;i>=0||j>=0||add!=0;i--,j--)
{
//n1 n2 前面是用int 说明类型为int类型
//因为得到的字符进行运算的时候是以 ASCII 码对应的数字来运算的,
//'0' ~ '9' 对应 48 ~ 57 ,所以通常用 -'0' 来得到真正对应的数字。
int n1=i>=0?num1.charAt(i)-'0':0;
int n2=j>=0?num2.charAt(j)-'0':0;
//合并后对应的位置的数,加到字符串后面(append()方法)
s.append((n1+n2+add)%10);
//进位数
add=(n1+n2+add)/10;
}
//由于是从后往前遍历,所以需要翻转一下
s.reverse();
//转换为字符串
return s.toString();
}
}