算法—超长数字型字符串相加

这加数的长度(1520位,940字节),如果用整型来保存,那会直接报错,因为整型才4字节,32位。下面给出被加数及运算结果。

加数 1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678
加数 1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678
结果 2469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356246913562469135624691356

源码,有问题的欢迎指出,非常感谢

package compute;

/**
package compute;

/**
 * @Author gzx
 * @create 2022-1-24
 	粗糙的两个整数型 字符串的加法运算
 */
public class AddDemo {
	public static void main(String[] args) {
//		int i=12345678123456781234567812345678;//编译报错
//		int j=12345678123456781234567812345678;//编译报错
//		String s1="12345678123456781234567812345678";
//		String s2="12345678123456781234567812345678";
		String s3="12345678123456781234567812345678"//编译能通过,这计算长度整型早就崩溃了(演示长度为(252-17)*32)
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678"
				+ "12345678123456781234567812345678";//编译不报错
		String res = addTwoString(s3, s3);
		System.out.println("加数 "+s3+"\n加数 "+s3+"\n结果 "+res); 
	}
	/**
	 * @param i 被加数的字符串表示
	 * @param j 被加数的字符串表示
	 * @return 相加结果的字符串表示
	 思路:字符串转为字符数组,字符转为int值,进位,保存到字符数组,用结果字符数组构造字符串
	 */
	public static String addTwoString(String i,String j) {
		char[] s1 = i.toCharArray();
		char[] s2 = j.toCharArray();
		int maxLen=Math.max(s1.length, s2.length);
		char[] n1=null,n2 = null;
		if (s1.length>s2.length) {
			n1=s1;
			n2=new char[maxLen];
			System.arraycopy(s2, 0, n2, maxLen-s2.length, s2.length);
			for (int k = 0; k < (maxLen-s2.length); k++) {
				n2[k]='0';//给较小的字符数组的空白部分赋值 '0'
			}
		}else if(s1.length<s2.length){
			n1=s2;
			n2=new char[maxLen];
			System.arraycopy(s1, 0, n2, maxLen-s1.length, s1.length);
			for (int k = 0; k < (maxLen-s1.length); k++) {
				n2[k]='0';
			}
		}else {
			n1=s1;
			n2=s2;
		}
		int tem=0,m,n,p;
		char[] res=new char[maxLen+1];
//		从数组末尾开始进行加法,和列竖式计算相似
		for (int k = (maxLen-1); k>=0; k--) {
			m=((int)n1[k])-48;//将char转为对应的int值,如  '1'->1,'0'->0
			n=((int)n2[k])-48;
			if (n1[k]<48||n1[k]>57) {
				throw new IllegalArgumentException("illegal char "+n1[k]);//不能包含除0-9之外的字符
			}
			if (n2[k]>57||n2[k]<48) {
				throw new IllegalArgumentException("illegal char "+n2[k]);
			}
			p=m+n+tem;
			tem=p>=10?p/10:0;//进位后的值,用于下一轮计算
			res[k+1]=(char)((p%10)+48);//保存对应的计算结果至结果字符数组中
			if (k==0&&p>=10) {
				res[k]=(char)(p/10+48);//最高位是否进位?
			}
		}
//		构造结果的字符串表示并返回
		String s=(((int)res[0])>0)?new String(res):new String(res,1,maxLen);
		return s;
	}
}

温馨提示:如读完此篇博客感觉有收获,不妨再看看我的其它博客,皆为原创,且都是自己思考的产物。如有不足之处,也敬请批评指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bitDesigner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值