参考代码:
方法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 人评分
简单的a+b (C语言代码)浏览:719 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:443 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:603 |
简单的a+b (C语言代码)浏览:457 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:724 |
C二级辅导-阶乘数列 (C语言代码)浏览:583 |
整数平均值 (C语言代码)浏览:856 |
整除问题 (C语言代码)浏览:594 |
青年歌手大奖赛_评委会打分 (C语言代码)浏览:2248 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:576 |