码迷,mamicode.com
首页 > 其他好文 > 详细

超长正数相加

时间:2020-07-04 01:51:47      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:res   integer   har   result   system   wol   nec   字符串   oar   

输入两个字符串数字,输出相加后的结果,string型

private static void AddLongInteger(String one,String two) {
int oneLen = one.length();
int twoLen = two.length();
int[] oneArr = new int[oneLen];
int[] twoArr = new int[twoLen];
int[] result = new int[oneLen > twoLen ? oneLen + 1 : twoLen + 1];
char[] oneChars = one.toCharArray();
char[] twoChars = two.toCharArray();
for (int i = 0; i < oneChars.length; i++) {
oneArr[i] = oneChars[i] - ‘0‘;
}
for (int i = 0; i < twoChars.length; i++) {
twoArr[i] = twoChars[i] - ‘0‘;
}
int oneIndex = oneArr.length - 1;
int twoIndex = twoArr.length - 1;
int index = result.length - 1;
while (oneIndex >=0 && twoIndex >= 0){
result[index] += oneArr[oneIndex] + twoArr[twoIndex];
if(result[index] > 9){
result[index] = result[index] % 10;
result[index-1] = 1;
}
oneIndex--;
twoIndex--;
index--;
}

while (oneIndex >=0){
result[index] += oneArr[oneIndex];
if(result[index] > 9){
result[index] = result[index] % 10;
result[index-1] = 1;
}
index--;
oneIndex--;
}
while (twoIndex >=0){
result[index] += twoArr[twoIndex];
if(result[index] > 9){
result[index] = result[index] % 10;
result[index-1] = 1;
}
index--;
twoIndex--;
}

System.out.println(Arrays.toString(result));
}

 

超长正数相加

标签:res   integer   har   result   system   wol   nec   字符串   oar   

原文地址:https://www.cnblogs.com/dongma/p/13233167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!