`
jinhailion
  • 浏览: 48522 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

[转载]java长字符串数字相加

 
阅读更多
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编程语言中,分割字符串是一项常见的操作,它允许我们将一个长字符串分解成多个子字符串,每个子字符串对应原字符串中的某个部分。这通常通过使用`split()`方法来实现,该方法是Java `String`类的一个成员。在...

    java压缩字符串

    java压缩字符串

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节;

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...

    Java检索字符串中是否存在某字符

    在Java编程语言中,字符串处理是一项基础且重要的任务。标题提到的"Java检索字符串中是否存在某字符",实际上涉及到字符串的查找算法。这里主要讨论的是KMP(Knuth-Morris-Pratt)算法,这是一种高效的字符串匹配...

    Java随机字符串生成器,可用于生成随机密码,密约等场景,支持字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置)

    Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持可选字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置),即在选择的字符范围内去实现随机字符串...

    字符串长度的判断 JAVA

    在Java编程语言中,字符串是极其重要的数据类型,用于存储和操作文本信息。字符串的长度判断和截取是常见的操作,对于程序逻辑控制和数据处理至关重要。以下将详细讲解如何在Java中进行字符串长度的判断以及如何截取...

    java 字符串工具类 java 字符串工具类

    java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java ...

    java字符串处理取出括号内的字符串

    在Java编程语言中,字符串处理是一项常见的任务,特别是在解析、分析或操作文本数据时。本篇文章将深入探讨如何从字符串中提取括号内的内容,主要关注于基础的字符串操作、正则表达式以及如何利用这些工具来实现目标...

    java 分割字符串

    在Java编程语言中,分割字符串是一项常见的操作,它允许我们将一个长字符串分解成多个子字符串,每个子字符串对应原字符串中的某一部分。这通常通过使用`split()`方法来实现,该方法是`String`类的一个实例方法。让...

    java判断字符串是否是json或json数组.txt

    java判断字符串是否是json或json数组; 简单小方法,很实用;简单实用的方法;亲测可用;嗯嗯嗯呃呃呃呃呃呃呃

    C代码实现超长整数字符串 相加,及相应执行程序

    3. 按位相加:从低位到高位遍历两个字符串,将对应位的数字相加,并考虑进位。对于每一位,我们计算两数之和加上上一位的进位,然后根据结果更新当前位。如果和大于9,则需要进行进位,将值减去10,并将进位设置为1...

    java 分解字符串

    在Java编程语言中,分解字符串是一项常见的任务,它涉及到对字符串进行分析,将字符串分割成多个子字符串。这个过程通常被称为字符串分割。在Java中,我们主要使用`String`类提供的`split()`方法来实现这一功能。...

    java 创建字符串类

    在Java编程语言中,字符串是极其重要且常用的数据类型,用于表示和操作文本。Java提供了两种主要的方式来创建字符串:通过`String`类的构造方法和使用`StringBuilder`或`StringBuffer`类。以下是对这些知识点的详细...

    JAVA日期与字符串的转换

    ### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...

    95.java拼接字符串案例.zip

    95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip...

    Java 字母数字字符串 混合排序(绝对超值管用)

    List&lt;String&gt; location=new ArrayList(); 一行代码轻松搞定混合排序问题 Collections.sort(location, new SortUtils(true));

    java 字符串中文判断

    在Java编程语言中,处理字符串是非常常见的操作,尤其是在涉及到文本分析和处理的场景。本文将深入探讨如何在Java中进行中文字符的判断和计数,这主要基于Java的Unicode编码特性以及字符集的理解。 首先,我们需要...

    java 字符串 正则表达式 详细实例代码

    在Java编程语言中,字符串(String)是至关重要的数据类型,用于存储和操作文本。字符串类提供了丰富的API,使得处理字符串变得高效且灵活。本篇将深入探讨Java中的字符串、正则表达式及其在实际编程中的详细实例代码...

    84.java中字符串的特点.zip

    84.java中字符串的特点.zip84.java中字符串的特点.zip84.java中字符串的特点.zip84.java中字符串的特点.zip84.java中字符串的特点.zip84.java中字符串的特点.zip84.java中字符串的特点.zip84.java中字符串的特点.zip...

Global site tag (gtag.js) - Google Analytics