大数相加问题(java版 )
来源:互联网 发布:网络教育比函授贵吗 编辑:程序博客网 时间:2024/05/24 05:12
两个大数相加,如果把数字转换成字符串,那么无论多大的数都可以相加了,将两位数做加法的过程用java代码模拟出来,那么这个问题就得到了解决。
package com.zhangyike.bigNum;import java.util.Scanner;public class AndBigNumber { public static void main(String[] args) { Scanner can = new Scanner(System.in); try{ String line1 = can.nextLine().trim(); String line2 = can.nextLine().trim(); String result = addBigInteger(line1,line2); System.out.println(result); }finally{ can.close(); } } public static String addBigInteger(String num1, String num2) { int len1 = num1.length(); int i = len1-1; int len2 = num2.length(); int j = len2-1; int len = len1 > len2 ? len1 : len2; int k = len; //结果存放的数组,数组的长度是num1和num2中最长的那个字符串的长度+1,这个肯定能存放结果。 char[] result = new char[len + 1]; char[] ca1 = num1.toCharArray(); char[] ca2 = num2.toCharArray(); int res = 0;//每次相加的结果 int carry = 0;//进位数 while (i > -1 && j > -1) { res = toInt(ca1[i--]) + toInt(ca2[j--]) + carry;//两个数中对应的位数相加+进位数 result[k--] = toChar(res%10);//不进入的数保存到结果集中 carry = res/10;//进位数 } //num1比num2长,要把num1长的部分加上去 while(i > -1 ) { res = toInt(ca1[i--]) + carry; result[k--] = toChar(res%10); carry = res/10; } //num2比num1长,要把num2长的部分加上去 while(j > -1) { res = toInt(ca2[j--]) + carry; result[k--] = toChar(res%10); carry = res/10; } result[k--] = toChar(carry);//最后一个进位数 return new String(result);//将char转换成字符串 } //将int转换为char public static char toChar(int c){ return String.valueOf(c).charAt(0); } //将char转换为int public static int toInt(char c){ try { return Integer.valueOf(c + ""); } catch (Exception e) { return 0; } }}
阅读全文
0 0
- 大数相加问题(java版 )
- 大数相加-Java版
- java实现大数相加问题
- 大数相加的问题
- 大数相加问题
- HDU1002大数相加问题
- 大数相加问题
- 算法--大数相加问题
- 两个大数相加问题
- 大数相加问题 POJ1503
- 大数相加问题
- 大数相加(JAVA)
- java实现大数相加
- java解决大数相加
- java中大数相加
- Java实现大数相加
- Java大数相加的问题(杭电ACM1047)
- 大数相加*加强版*
- 二级制代码扫描工具
- 二维数组按照其内层数组的某个键值排序
- 在Ubuntu中添加用户
- Android O 新特性和行为变更总结
- 快速了解一个行业的秘籍,你值得拥有
- 大数相加问题(java版 )
- Android 解决输入法遮挡布局控件的问题
- 小光棍数
- 快速将eclipse中的项目导入到Androidstudio中
- 百练1473:There's Treasure Everywhere!
- 使用geoserver发布地图
- CocoaPods 加载问题 hostname "gems.ruby-china.org" does not match the server certificate
- 昂贵的聘礼
- Java开发中的23种设计模式详解