6个回答
展开全部
将大整数存入字符数组,按位相加。 给你写一段伪代码。
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
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
展开全部
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文档吧........
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文档吧........
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大整数???
public class Test
{
public static void main(String[] args)
{
long a = 1000000000;
long b = 1000000000;
long sum;
sum = a + b;
System.out.println(sum);
}
}
public class Test
{
public static void main(String[] args)
{
long a = 1000000000;
long b = 1000000000;
long sum;
sum = a + b;
System.out.println(sum);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
10分给你搞定 ,他们说的都不好!。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询