大数加法

65 阅读1分钟

大数加法

package Test;

import java.util.Scanner;

public class 大数加法 {
public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	String s1 = scan.next();
	String s2 = scan.next();
	int len1 = s1.length();
	int len2 = s2.length();
	int[] a1 = new int[200];  //保证足够长
	int[] a2 = new int[200];
	
	for(int i=0;i<len1;i++) {
		a1[i]  = s1.charAt(i)-'0';
	}
	for(int i=0;i<len2;i++) {
		a2[i]  = s2.charAt(i)-'0';
	}
	
	
	//两个数组按位相加
	int i;
	for(i=0;i<200;i++)
	{
		a1[i]+=a2[i];
		if(a1[i]>9)
		{
			a1[i]=a1[1]-10;
			a1[i+1]++;
		}
	}                                               

	for(i=199;(i>=0)&&(a1[i]==0);i--);                  //从高位找出第一个不是零的数
	

    for(;i>=0;i--)
    	System.out.print(a1[i]);  //输出数组
	
}
}