这加数的长度(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;
}
}
温馨提示:如读完此篇博客感觉有收获,不妨再看看我的其它博客,皆为原创,且都是自己思考的产物。如有不足之处,也敬请批评指正