描述:
以字符串的形式给出两个非负整数 num1 和num2,返回 num1 和 num2 的和。
- num1 和 num2 的长度都小于5100。
- num1 和 num2 都只包含数字 0-9。
- num1 和 num2 都不包含任何前导零。
- 您不能使用任何内置的 BigInteger 库内的方法或直接将输入转换为整数。
样例:
输入:num1="123",num2="45"
输出:168
代码:
public String addStrings(String num1, String num2) {
// write your code here
int index1 = num1.length() - 1;
int index2 = num2.length() - 1;
String res = "";
int carrier = 0;
while(index1 >= 0 || index2 >= 0) {
int temp1 = 0;
int temp2 = 0;
if (index1 >= 0) {
temp1 = Integer.valueOf(num1.charAt(index1) + "");//charAt,返回指定索引处的字符,索引范围为0到length()-1。
index1--;
}
if (index2 >= 0) {
temp2 = Integer.valueOf(num2.charAt(index2) + "");//valueOf方法用于返回给定参数的原声Number对象值,参数可以是原生数据类型,String等。
index2--;
}
res = (temp1 + temp2 + carrier) % 10 + res;
carrier = (temp1 + temp2 + carrier) / 10;
}
return carrier == 0 ? res : carrier + res; }
Java charAt()方法:
charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。
语法
public char charAt(int index)
参数
-
index -- 字符的索引。
返回值
返回指定索引处的字符。
实例
public class Test { public static void main(String args[]) { String s = "www.runoob.com"; char result = s.charAt(8); System.out.println(result); } }
以上程序执行结果为:
o
Java valueOf()方法:
valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。
该方法是静态方法。该方法可以接收两个参数一个是字符串,一个是基数。
语法
该方法有以下几种语法格式:
static Integer valueOf(int i) static Integer valueOf(String s) static Integer valueOf(String s, int radix)
参数
-
i -- Integer 对象的整数。
-
s -- Integer 对象的字符串。
-
radix --在解析字符串 s 时使用的基数,用于指定使用的进制数。
返回值
-
Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例。
-
Integer valueOf(String s):返回保存指定的 String 的值的 Integer 对象。
-
Integer valueOf(String s, int radix): 返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
实例
public class Test{ public static void main(String args[]){ Integer x =Integer.valueOf(9); Double c = Double.valueOf(5); Float a = Float.valueOf("80"); Integer b = Integer.valueOf("444",16); // 使用 16 进制 System.out.println(x); System.out.println(c); System.out.println(a); System.out.println(b); } }
编译以上程序,输出结果为:
9 5.0 80.0 1092