博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串问题之 字符串中的数字子串求和
阅读量:5060 次
发布时间:2019-06-12

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

要求

 1、 忽略小数点 如 A1.3 包含的是两个数字 1 和 3

 2、紧贴数字子串的左侧出现字符“-”   连续次数为奇数时候 为负数 , 偶数时候为正数。

   比如: “A-1BC--12”   其中包含数字为-1 和 12

  str="A1CD2E33"  返回36

  str="A-1B-2C--D6E"  返回7

这个题目的实现方法有很多种,下面我来给大家演示一种哈~~~~~

这个题目就是实现 如何从左到右遍历str时,准确收集每个数字并累加起来

    实现步骤:

    三个变量 int  res  表示目前的累加和

                  int num 表示当前收集到的数字

                   boolean posi 表示如果把num累加到res里, num是正还是负 

                

 

package TT;public class test2 {     public static int numSum(String str){                  if(str==null){             return 0;         }                           char[] charArr = str.toCharArray();         int res = 0;         int num =0;         boolean posi = true;         int cur = 0;         for(int i =0; i
9){ res+=num; num = 0; if(charArr[i]=='-'){ if(i-1>-1 && charArr[i-1]=='-'){ posi=!posi; }else{ posi = true; } } }else{ num = num * 10 + (posi ? cur : -cur); } } res += num; return res; } public static void main(String[] args){ String str ="A1CD2E33"; int a = numSum(str); System.out.println(a); } }

结果:36

 

转载于:https://www.cnblogs.com/toov5/p/7359972.html

你可能感兴趣的文章
几款Http小服务器
查看>>
iOS 数组排序
查看>>
第三节
查看>>
PHP结合MYSQL记录结果分页呈现(比较实用)
查看>>
Mysql支持的数据类型
查看>>
openSuse beginner
查看>>
Codeforces 620E(线段树+dfs序+状态压缩)
查看>>
Windows7中双击py文件运行程序
查看>>
Market entry case
查看>>
bzoj1230 开关灯 线段树
查看>>
LinearLayout
查看>>
学习python:day1
查看>>
css3动画属性
查看>>
第九次团队作业-测试报告与用户使用手册
查看>>
Mongodb 基本命令
查看>>
控制文件的备份与恢复
查看>>
返回代码hdu 2054 A==B?
查看>>
iOS 8 地图
查看>>
PHP的SQL注入技术实现以及预防措施
查看>>
软件目录结构规范
查看>>