大数相加,模拟计算器
2014-01-15 22:04
225 查看
package cn.sasuke; public class Test{ public static void main(String[] args) { String a ="11111111111111111111111111111111111111111111111111111111111111111111111111111111"; String b ="99999999999999999999999999999999999999999999999999999999999999999999999999999999"; System.out.println(add(a,b)); } private static String add(String a, String b) { if (!a.matches("\\d+")&&!b.matches("\\d+")) { return null; } int lena =a.length(); int lenb =b.length(); int maxLen =lena>lenb? lena:lenb; StringBuffer sBuffer =new StringBuffer(); int carry=0; final int Jin =10; int partSum=0; int tmpA=0; int tmpB=0; for (int i = 0; i < maxLen; i++) { if(i>=lena){ tmpA=0; }else { tmpA=a.charAt(lena-1-i)-48; } if (i>=lenb) { tmpB=0; }else { tmpB=b.charAt(lenb-1-i)-48; } partSum=tmpA+tmpB+carry; carry=partSum/10; sBuffer.append(partSum%10); } if(carry==1){ sBuffer.append(1); } return sBuffer.reverse().toString(); } }
相关文章推荐
- Hdu 2100 Lovekey 模拟大数相加<进位转换..>
- 字符串模拟大数相加
- 用字符串模拟两个大数相加——java实现
- 用字符串模拟两个大数相加——java实现
- 两个大数相加,使用字符串模拟相加过程
- 两个大数相加,使用字符串模拟相加过程
- leetcode_415(两个数字字符串相加,模拟大数相加)
- hdu1047(模拟大数循环相加)
- 高精度问题之大数相加(原来就是用字符串相加,模拟手算这么简单!)
- 两个大数相加,使用字符串模拟相加过程
- 字符串模拟大数相加——Java实现
- 用字符串模拟两个大数相加——java实现
- 模拟大数相加
- java机试-用字符串模拟两个大数相加
- 模拟大数相加
- Hdu1002 A+B ProblemII(大数相加模拟)
- 1002 大数相加 (简单模拟) 水题
- PKU-1503 Integer Inquiry(模拟大数相加)
- HDU 1047(大数相加)(数组模拟)
- [1133]C/C++经典程序训练3—模拟计算器