import java.util.regex.Pattern;
/**
* @author clydelou
*
*/
public class Test {
/**
* @param args
*/
public static String sum(String s, String t) {
Pattern pattern = Pattern.compile("[0-9]+?");
if (!pattern.matcher(s).matches() || !pattern.matcher(t).matches()) {
System.out.println("Error");
System.out.println("s = /""+s+"/", t = /""+t+"/"");
return "";
} else {
StringBuilder sb = new StringBuilder();
int length0 = s.length();
int length1 = t.length();
s = new StringBuilder(s).reverse().toString();
t = new StringBuilder(t).reverse().toString();
int min = (length0 > length1 ? length1 : length0);
boolean flag = (length0 > length1 ? true : false);
int temp = 0;
for (int i = 0; i < min; i++) {
char x = s.charAt(i);
char y = t.charAt(i);
int result = x - '0' + y - '0' + temp;
int r1 = result % 10;
temp = result / 10;
sb.append(r1);
}
if (flag) {
while (temp != 0 && min < length0) {
int result = s.charAt(min) - '0' + temp;
int r1 = result % 10;
temp = result / 10;
sb.append(r1);
min++;
}
if (min < length0) {
String str = s.substring(min, length0);
sb.append(str);
}
if (temp != 0) {
sb.append(temp);
}
} else {
while (temp != 0 && min < length1) {
int result = t.charAt(min) - '0' + temp;
int r1 = result % 10;
temp = result / 10;
sb.append(r1);
min++;
}
if (min < length1) {
String str = t.substring(min, length1);
sb.append(str);
}
if (temp != 0) {
sb.append(temp);
}
}
return sb.reverse().toString();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "21341234568787667776768685";
String t = "557467674876856785678987464";
String m = "999999999";
String n = "999999999";
System.out.println(sum(s, t));
System.out.println(sum(t, s));
System.out.println(sum(m, n));
System.out.println(sum("a", "1"));
}
}
分享到:
相关推荐
java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字...
java字符串类型数字设置千分位分隔,可对整数、带小数点的数字、负数进行千分位分隔。并对字符串进行了数字判断,非数字类型的字符串不进行转换。
java压缩字符串
JAVA的字符串拼接与性能 概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码...
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
Java分割字符串
java从一个包含中文字的字符串中抽取数字部分的两种方法,自己使用后,感觉挺符合需求了,分享出来。有需要的可以看看,看是否符合需求。
Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持可选字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置),即在选择的字符范围内去实现随机字符串...
java 分解字符串 java 分解字符串 java 分解字符串
java判断字符串是否是json或json数组; 简单小方法,很实用;简单实用的方法;亲测可用;嗯嗯嗯呃呃呃呃呃呃呃
java 创建字符串类 java 创建字符串类 java 创建字符串类
java字符串处理取出括号内的字符串 都是我自己试过可以用的j
java 分割字符串 java 分割字符串
SqlServer2000,用语数据库字符串相加的一个函数 用于字符串相加,字符串拼接
这个方法用来处理java中可能有一些特别的需要,一大串中英文混合,需要中间截断或是中英中间添加一些特别的标识,调用这个方法 第一个参数是要处理的字符串,第二个是要在中英字符中间插入的字符。调用就可以得到想...
在JAVA里面实现判断字符串长度,和截取字符串
Java获取随机字符串Java获取随机字符串Java获取随机字符串
java通过正则表达式获取字符串内的数字简单实例
java获取字符串长度,长度不够补相应的字符串