Faith


私信TA

用户名:1310510120

访问量:42372

签 名:

求介绍工作

等  级
排  名 217
经  验 6352
参赛次数 1
文章发表 54
年  龄 0
在职情况 学生
学  校 武汉生物工程学院
专  业

  自我简介:

参考代码:

方法1:

把数存入数组里面逐位相加

import java.util.Scanner;

public class 大数相加 {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String a=in.next();
		String b=in.next();
		int lengtha=a.length();
		int lengthb=b.length();
		
		int maxlength;
		if(lengtha>lengthb)maxlength=lengtha;
		else maxlength=lengthb;
	
		int numa[]=new int[maxlength];
		int numb[]=new int[maxlength];//大小一样等下相加的时候就不用考虑位数较小的数组不好与位数较大的数组逐位相加
		int result[]=new int[maxlength];
		int j=0;
		
		for(int i=lengtha-1;i>=0;i--,j++){
			numa[j]=a.charAt(i)-'0';
		}
		j=0;
		
		for(int i=lengthb-1;i>=0;i--,j++){
			numb[j]=b.charAt(i)-'0';
		}
		
		
		int temp=0;
		for(int i=0;i<maxlength;i++){
			result[i]=(numa[i]+numb[i]+temp)%10;
			temp=(numa[i]+numb[i]+temp)/10;
		}
		if(temp>0){
			System.out.print(temp);
		}
		for(int i=maxlength-1;i>=0;i--){
			System.out.print(result[i]);
		}
		
	}

}

方法2:大数类

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;

public class 大数相加 {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
	BigInteger a;
	BigInteger b;
	BigInteger c;
	a=input.nextBigInteger();
	b=input.nextBigInteger();
	c=a.add(b);
	System.out.println(c);
		
		}	
	}


 

0.0分

0 人评分

  评论区

  • «
  • »