博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java两个大数字相加
阅读量:6865 次
发布时间:2019-06-26

本文共 1542 字,大约阅读时间需要 5 分钟。

  hot3.png

 
package com.duapp.itfanr;import java.math.*;import java.util.Arrays;public class CharDemo {	public static void main(String args[]) {		String num1 = "1234";		String num2 = "789";//此处没有考虑到负数情况		System.out.print(plusBigNum(num1, num2));	}	static String plusBigNum(String num1, String num2) {		int len1 = num1.length();		int len2 = num2.length();		// 格式化两个数,使之长度相同		if (len1 > len2) {			for (int i = 0; i < len1 - len2; i++) {				num2 = "0" + num2;			}		} else if (len2 > len1) {			for (int i = 0; i < len2 - len1; i++) {				num1 = "0" + num1;			}		}		int[] numArr1 = str2IntArr(num1);		int[] numArr2 = str2IntArr(num2);		int[] result = add(numArr1, numArr2);		StringBuffer sb = new StringBuffer();		for (int i = 0; i < result.length; i++) {			if (result[result.length-1] ==0 &&i==result.length-1){				break ; 						}			else sb.append(result[i]);		}		return sb.reverse().toString();	}	static int[] str2IntArr(String str) {		StringBuffer sb = new StringBuffer(str);		String rvsstr = sb.reverse().toString();		int len = rvsstr.length();		int[] out = new int[len];		for (int i = 0; i < len; i++) {			out[i] = Integer.parseInt(rvsstr.charAt(i) + "");		}		return out;	}	public static int[] add(int a[], int b[]) {		int maxLen = a.length;		int[] sum = new int[maxLen + 1];		int d = 0; 		for (int i = 0; i < maxLen; i++) {			int tempSum = a[i] + b[i] + d;			sum[i] = tempSum % 10;			d = tempSum / 10; // 进位					}		return sum;	}}
Integer.parseInt   用于将字符转为十进制数字 myString.charAt  用于String转字符数组 参考: [1].  [2]. [3].

转载于:https://my.oschina.net/itfanr/blog/358394

你可能感兴趣的文章
C++程序设计(第二版)谭浩强----程序题课后习题答案第二章
查看>>
GMap.net 离线地图问题
查看>>
C# 利用Jmail接收邮件
查看>>
安全退出调用多个Activity的Application
查看>>
让织梦CMS的后台编辑器支持优酷视频
查看>>
列表导航栏实例(01)
查看>>
压缩aspx页面,移除aspx多余的空格 供学习参考
查看>>
【置顶】博客搬迁
查看>>
自定义全局按键修饰符
查看>>
分区表
查看>>
linux(centos) 常用命令
查看>>
数据库配置下拉框没有数据库可选
查看>>
GZFramwork数据库层《四》单据主从表增删改查
查看>>
几何概型
查看>>
如何向数据库添加时同时返回ID
查看>>
Java日志性能
查看>>
Shell:传递命令行参数
查看>>
Python:机器学习库 sklearn
查看>>
C# 解压文件
查看>>
Java--------------Mysql中时间按要求查询
查看>>