处理处理字符串型大数加法问题

前言:

最近好久没有写文章了,因为最近忙着期末考试,然而还是挂了一门英语(英语是硬伤啊-_-)…… 昨天,我去面试,面试官出了一道大数加法编程问题,因为是机试,所以当时觉得写得有些潦草,也没有注释,所以今天重新整理了一下思路,重新写了一遍。

题目描述:

给你两个用字符串表示的数字a 和 b,数字之中无非法字符(如abc、@#¥等字符),让我实现这两个整数的加法。

分析:

因为用a 和 b这两个数字是大数,所以我们用integer类直接将字符串类型的数字转换成int类型的数字是不可取的(因为int类型有范围限制:- 2^31 ~ 2^31 - 1);那这时,我们就剩一种方法去进行字符串的加法运算了,我们首先找出两个字符串中长度较小的那个字符串,然后根据这个字符串的长度对两个字符串从尾到头开始进行单个字符的加法运算,这里需要处理进位的问题;处理完这个加法后,我们现在需要处理长度大的那个字符串的高位运算,这里我们还是需要处理低位的进位问题。

程序实现如下:

package package_20180720;

/**
 * 
 * @author 康茜
 *	问题:处理字符串型大数加法问题
 */
public class Main1 {
	public static String sum(String a, String b) {
		StringBuffer result = new StringBuffer();
		//默认valueA的长度大于valueB的长度
		St
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值