java实现实现两个大整数的求和

标题写一段完整的程序,实现两个大整数的求和编写函数public String add(String stra,String strb)

package H2;

public class Problem1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 String a="123456789555544545454";
		 String b="15455446465456446464";
		 Problem1 p=new Problem1();
		 System.out.println(p.add(a, b)); 
	}
	//因为是两个特别大的字符串相加,返回值类型也是字符串类型的
	public String add(String a,String b) {
		
		String maxStr=a.length()>=b.length()?a:b;
		String minStr=a.length()>=b.length()?b:a;
		String sum="";
		int maxL=maxL=maxStr.length();
		int[] max_Ints=new int[maxL];
		int[] min_Ints=new int[maxL];
		for(int i=0;i<maxL;i++) {
			//运用“+""”的方法将字符型数字转化成整形数字
			max_Ints[i]=Integer.parseInt(maxStr.charAt(i)+"");
		}
		//对低位数字进行补零,使之与那个长的数字位数相同
		for(int i=0;i<maxL;i++) {
			if(i<maxL-minStr.length()) {
				min_Ints[i]=0;
			}
			else {
				min_Ints[i]=Integer.parseInt(
						minStr.charAt(i-(maxStr.length()-minStr.length()))+"");
			}
		}
		for(int i=maxL-1;i>=0;i--) {
			int Esum=0;//表示每位相加的和
			Esum=max_Ints[i]+min_Ints[i];
			if(Esum>=10&&i>0) {
				Esum=Esum%10;
				min_Ints[i-1]+=1;
			}
		  	sum=(Esum+"")+sum;
		}
		return sum;
	}
}


本人是Java初学者,有许多不足的地方还请大家指正。

你可能感兴趣的:(java实现实现两个大整数的求和)