`
jinhailion
  • 浏览: 48092 次
  • 性别: 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压缩字符串

    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数组; 简单小方法,很实用;简单实用的方法;亲测可用;嗯嗯嗯呃呃呃呃呃呃呃

    数据库字符串相加---字符串相加函数

    根据提供的信息,本文将详细介绍一个在SQL Server 2000环境下用于字符串拼接的自定义函数,并对该函数的功能、实现方法以及应用场景进行深入解析。 ### 一、SQL Server 2000简介 SQL Server 2000是微软发布的一款...

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

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

    java 分解字符串

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

    java验证字符串是否符合json格式

    在Java编程中,验证字符串是否符合JSON(JavaScript Object Notation)格式是一项常见的任务,尤其是在进行前后端数据交互时。JSON是一种轻量级的数据交换格式,它允许数据以键值对的形式存储,易于人阅读和编写,...

    java 创建字符串类

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

    JAVA日期与字符串的转换

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

    java判断字符串是否递增递减或重复

    java判断字符串是否存在递增或递减 java判断字符串是否重复

    java字符串练习

    本文将围绕“java字符串练习”这一主题,深入探讨如何解析字符串、逆序输出字符串以及处理特定格式的字符串数据。 首先,我们要讨论的是字符串解析。在Java中,我们可以使用`String`类提供的方法或正则表达式来实现...

    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));

Global site tag (gtag.js) - Google Analytics