JAVA编程中“两个大整数求和”怎么编写

JAVA初级编程中俩大整数求和的程序咋写,求解

将大整数存入字符数组,按位相加。 给你写一段伪代码。
String a = "12389839843958394";
String b = "23445655234343";
char ac [] = a.toCharArray();
char bc [] = b.toCharArray();

这里要将数组ac 和bc 倒序排列,因为"123"转换后为{'1','2','3'} 高位在前,倒序是为了低位在前。这部分代码自己实现把。

char longc[];
char shortc[];
if (ac.length>=bc.length) {
longc=ac;
shortc=bc;
} else {
longc=bc;
shortc=ac;
}
下面做一个for循环,按位相加乘以10的i次方。就像小学学的列竖式子一样
int sum=0;
for (int i=longc.length;i<longc.length;i++) {
if (i<shortc.length) {
sum+=(longc[i]+shortc[i]-96)*Math.pow(10, i);
} else {
sum+=(longc[i]-48)*Math.pow(10, i);
}
}

其中字符相加的时候减48是将char 转换成int
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
import java.math.BigInteger;
public class SumTest {
public static void main(String[] args){
String a = "2222222222222222222222222222222222" ;
String b = "4444444444444444444444444444444444" ;
String str =new BigInteger(a).add(new BigInteger(b)).toString() ;
System.out.println(str);
}
}
先把大整数---->字符串
java里提供一个BigInteger类就是解决大数问题的,上面是核心;你自己整理规范点.写到这具体不用讲了吧,只要不超过字符串的长度都能计算,long是远远不行的.多看api文档吧........本回答被网友采纳
第2个回答  2010-04-27
大整数???
public class Test
{
public static void main(String[] args)
{
long a = 1000000000;
long b = 1000000000;
long sum;

sum = a + b;

System.out.println(sum);
}
}
第3个回答  2010-04-27
10分给你搞定 ,他们说的都不好!。
第4个回答  2010-04-27
使用BigInteger类
相似回答