java实现两个大整型相加

问题描述如下:

Problem Description

I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.

 

参考代码如下:

public static void main(String[] args) {
		// TODO Auto-generated method stub
		int s;
		String string1 = null;
		String string2 = null;
		Scanner scanner = new Scanner(System.in);
		string1 = scanner.nextLine();
		System.out.println("the first number:" + string1);
		string2 = scanner.nextLine();
		System.out.println("the second number:" + string2);

		char a1[] = string1.toCharArray();
		int a[] = new int[a1.length];
		for (int i = 0; i < a1.length; i++) {
			a[i] = Integer.valueOf(a1[i]).intValue() - 48;
		}

		char b1[] = string2.toCharArray();

		int b[] = new int[b1.length];
		for (int j = 0; j < b1.length; j++) {

			b[j] = Integer.valueOf(b1[j]).intValue() - 48;

		
		}

		add(a, b);

	}

	public static void add(int c[], int d[]) {

		int temp = 0;
		int e[] = new int[50];
		int c1 = c.length - 1, d1 = d.length - 1, e1 = e.length - 1;

		while (c1 >= 0 && d1 >= 0) {
			if (c[c1] + d[d1] > 9) {
				e[e1] = c[c1] + d[d1] - 10 + temp;
				temp = 1;
			} else {
				e[e1] = c[c1] + d[d1] + temp;
				temp=0;
			}
			c1--;
			d1--;
			e1--;
		}
		while (c1 >= 0 || d1 >= 0) {
			if (c1 >= 0) {
				e[e1] = c[c1] + temp;
				temp=0;
			} else {
				e[e1] = d[d1] + temp;
				temp=0;
			}

			c1--;
			d1--;
			e1--;
		}

		
		System.out.println();
		String sum=Arrays.toString(e);
		System.out.println(sum);

	}

猜你喜欢

转载自blog.csdn.net/So_that/article/details/82660921