Faith


私信TA

用户名:1310510120

访问量:40128

签 名:

求介绍工作

等  级
排  名 225
经  验 6107
参赛次数 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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区