public class Solution {
public int length = 0; public Object[] numToArrays(int num) {
List<Integer> list = new ArrayList<Integer>();
while (num / 10 != 0) {
list.add((num) % 10);
num /= 10;
}
list.add(num % 10);
return list.toArray();
} public Object[] stringToArrays(String s1){
Object[] strs = new Integer[s1.toCharArray().length];
char[] chs = s1.toCharArray();
for(int i=strs.length-1;i>=0;i--){
strs[strs.length-1-i] = Integer.parseInt(String.valueOf(chs[i]));
}
return strs;
} public int[] bigSum(Object a, Object b) {
length = 0;
boolean isUp = false;
int[] result = new int[10000];
Object[] as = null;
Object[] bs = null;
if(a instanceof String){
as = stringToArrays((String)a);
bs = stringToArrays((String)b);
}else if(a instanceof Integer){
as = numToArrays((int)a);
bs = numToArrays((int)b);
} int i = 0;
int s = Math.min(as.length, bs.length);
Object[] larrays = as.length >= bs.length ? as : bs;
int l = larrays.length;
for (; i < s; i++) {
int c = (int) as[i] + (int) bs[i] + result[i];
if (c >= 10) {
// 进位,需增高一位
result[i + 1] += 1;
// 本位取余
result[i] = c % 10;
if (i + 1 >= s) {
isUp = true;
}
} else {
result[i] = c; }
length++;
}
int flag=0;
if (isUp){
length++;
flag=1;
}
isUp = false;
// 处理不等长
if (s != l) {
for (int k = length-flag; k < l; k++) {
int temp = result[k] + (int) larrays[k];
if (temp >= 10) {
result[k] = temp % 10;
result[k + 1] = 1;
if (k + 1 >= l) {
isUp = true;
}
} else {
result[k] = temp;
}
length++;
}
if(flag==1){
length--;
}
}
if (isUp)
length++;
return result;
} public static void main(String[] args) {
// TODO Auto-generated method stub
Solution s = new Solution();
int[] list = s.bigSum("164455462456282903781237128937128937812937812973891272389456456222","123245445243512");
for (int i = s.length - 1; i >= 0; i--) {
System.out.print(list[i]);
}
} 输出:164455462456282903781237128937128937812937812973891395634901699734

Java 大数A+B的更多相关文章

  1. java大数

    java大数还是很好用的! 基本加入: import java.math.BigInteger; import jave.math.BigDecimal; 分别是大数和大浮点数. 首先读入可以用: S ...

  2. JAVA大数运算

    java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...

  3. java大数总结【转】

    java大数(2013长春网络赛)--hdu4762总结一下:1.java提交类要写Main.2.读取大数. Scanner read=new Scanner(System.in); BigInteg ...

  4. HDU5047Sawtooth(java大数)

    HDU5047Sawtooth(java大数) 题目链接 题目大意:在一个矩形内画n个"M".问如何画可以把这个矩形分成最多的区域. 给出这个区域的数目. 解题思路:最好的方式就是 ...

  5. JAVA大数类

    JAVA大数类api http://man.ddvip.com/program/java_api_zh/java/math/BigInteger.html#method_summary 不仅仅只能查J ...

  6. HDU4762(JAVA大数)

    Cut the Cake Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  7. ZOJ3477&JAVA大数类

    转:http://blog.csdn.net/sunkun2013/article/details/11822927 import java.util.*; import java.math.BigI ...

  8. 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&amp;记忆化递归

    HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...

  9. 收藏的一段关于java大数运算的代码

    收藏的一段关于java大数运算的代码: package study_02.number; import java.math.BigDecimal; import java.math.BigIntege ...

  10. java大数判断相等

    java大数判断相等: 1.equals()方法2.compareTo()方法区别:2.00与2.0 equals()方法判断不等,compareTo()方法判断相等,科学的说法可以看java api ...

随机推荐

  1. 404 error on preview ... "buffer_id(29) is not valid (closed or unsupported file format)"

    利用sublime text2的插件OmniMarkupPreview进行md文件预览时,出现如下错误 "Error: 404 Not Found Sorry, the requested ...

  2. 使用IDA静态分析解密《舰娘Collection》的lua脚本

    好久没写东西了,换工作之后忙得一比.你说创业?风太大没听清啊看了看以前写的东西,觉得以前写得太严肃了,从现在开始要轻松一点,要做一名逗逼码农. 本文不会介绍破解的细节,最终完成破解所编写的代码也不会公 ...

  3. Activity的生命周期与加载模式——Activity的4种加载模式

    配置Activity时可指定android:launchMode属性,该属性用于配置该Activity的加载模式,该属性支持如下4个属性值. standard:标准模式,这是默认的加载模式. sing ...

  4. Js让光标停在输入框input框最后面

    var val = $(this) val();   1.$(this). focus(); 2.$(this).val(""); 3.$(this).val(val);   1. ...

  5. Kubuntu定制开始菜单

    在我旧的博客(http://blog.sina.com.cn/eltaera)里,曾经转载过关于ubuntu定制的文章(http://blog.sina.com.cn/s/blog_8709e3120 ...

  6. HDU4403(暴搜)

    A very hard Aoshu problem Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  7. maven常用命令介绍(持续更新)

    一.Maven的基本概念 主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1.项目构建 项目构建过程包括[清理项目]→[编译项目]→[测试项目]→[生成测试报告]→[打包项目]→[ ...

  8. Professional C# 6 and .NET Core 1.0 - 37 ADO.NET

    本文内容为转载,重新排版以供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - 37 ADO.NET -------- ...

  9. 苹果手机上开发微信公众号(wap)遇到的问题解决方法

    1.样式 苹果 手机会自行强制css样式,比如input会变得面目全非,你可以加上input{-webkit-appearance: none;}恢复原貌! 2.jquery的live错误,苹果手机上 ...

  10. vue.js 常用语法总结(一)

    作者:曾萍,目前就职于京东商城. 概述 2016年已经结束了.你是否会思考一下,自己在过去的一年里是否错过一些重要的东西?不用担心,我们正在回顾那些流行的趋势.通过比较过去12个月里Github所增加 ...