首页 / JAVA / java 拆两个字符串进行相加
java 拆两个字符串进行相加
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 拆两个字符串进行相加,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2436字,纯文字阅读大概需要4分钟。
内容图文
![java 拆两个字符串进行相加](/upload/InfoBanner/zyjiaocheng/647/0159872c647f4a3ba4154970c73bc289.jpg)
场景要求:
例如 String a1=“33333333333333333333344”;
String a2=“98736374848595499383929384”;
两个数相加没有一个可以把这两个数转成整形时候。
实现以下代码的思路:
//先进行截取,把两个数截成3部分(相当于3个数)
//让截取的相同部分的每一位进行相加
//最后在把相同部分相加的结果与截取的第三部分相加,
//其中会涉及相同部分最大项相加结果大于一的情况,会对此处做处理,
//方法为截取的部分最小位直接加一,
//加完一后还会涉及最小为是否大于10
public static String getSum(String s1,String s2){
int a4=0,a2 = 0;
String b33="",cc9 ="",jie;//变量 替换保证大小转换时候存在的问题
List l1 = new ArrayList(),l2 =new ArrayList();
if(s1.length()<s2.length()){
cc9= s2;
s2 = s1;
s1 = cc9;
}
if(s1.length()>s2.length()){
jie = s1.substring(0, s1.toCharArray().length-s2.toCharArray().length>=0?s1.toCharArray().length:s2.toCharArray().length-s1.toCharArray().length-s2.toCharArray().length>=0?s2.toCharArray().length:s1.toCharArray().length);
}else{
jie = s2.substring(0, Math.abs(s1.toCharArray().length-s2.toCharArray().length>=0?s1.toCharArray().length:s2.toCharArray().length-s1.toCharArray().length-s2.toCharArray().length>=0?s2.toCharArray().length:s1.toCharArray().length-1));
}
for(int i =0;i<(s1.toCharArray().length-s2.toCharArray().length>=0?s2.toCharArray().length:s1.toCharArray().length);i++){
int c =Integer.parseInt(String.valueOf(s2.toCharArray()[(s2.length()-i-1)]))+Integer.parseInt(String.valueOf(s1.toCharArray()[(s1.length()-i-1)]))+a2;
a2 = 0;
if(c>=10){
l1.add(c%10);//取于放入。
if((s1.toCharArray().length-s2.toCharArray().length>=0?s2.toCharArray().length:s1.toCharArray().length)-i-1==0){
l1.add(1);
a4 = 1;
}
a2 = 1;
}else{
l1.add(c);
}
}
//长度不相等时候触发次 功能 是将截取的前半部份与1相加放入一个新的集合
//最后会把两个集合整合在一起
if(s2.length()!=s1.length()){
if(a4 == 1){
int a5=1;
for(int i =0;i<jie.length();i++){
if(a5==1){
int c =Integer.parseInt(String.valueOf(jie.toCharArray()[(jie.length()-i-1)]))+1+a2;
l1.remove(l1.size()-1);
a5=0;
}
int c =Integer.parseInt(String.valueOf(jie.toCharArray()[(jie.length()-i-1)]))+a2;
a2 = 0;
if(c>=10){
l2.add(c%10);//取于放入。
if(jie.length()-i-1==0){
l2.add(1);
}
a2 = 1;
}else{
l2.add(c);
}
}
l1.add(l2);
}else{
l2.add(jie);
l1.add(l2);
}
}
for(int b1 =0;b1<l1.toString().split(",").length;b1++){
b33+=l1.toString().split(",")[l1.toString().split(",").length-1-b1];
}
return b33.replace("[", "").replace(" ", "").replace("]", "");
}
HELLO_FANDONGBING
发布了99 篇原创文章 · 获赞 10 · 访问量 5万+
私信
关注
内容总结
以上是互联网集市为您收集整理的java 拆两个字符串进行相加全部内容,希望文章能够帮你解决java 拆两个字符串进行相加所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。