题目:
给定一个字符串str,求其中全部数字串所代表的数字之和。

要求
1.忽略小数点
2.考虑‘-’,如果有连续奇数个,则为负,如果有连续偶数个,就为正数。
举例:
str=“A-1B–2C–D6E” return 7

思路:

  1. 判断是不是0-9
  2. 不是数字,判断是不是-
  3. 如果是- 是不是第一个-,第一个符号设置为负,如果不是,则翻转符号
  4. 不是-,那么符号设置为正,保证没有-时候数字是正的
  5. 最后 sum+一下,以防最后是数字,没有遇到非数字没有加上
public class Trr {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(numSum("11-2-3"));}public static int  numSum(String s1) {if(s1==null) {return 0;}char[] chas=s1.toCharArray();int sum=0;int num=0;int cur;boolean symbol=true;for(int i=0;i<s1.length();i++) {cur=chas[i]-'0';if(cur<0||cur>9) {sum+=num;num=0;if(chas[i]=='-') {if((i-1)>-1 && chas[i-1]=='-') //首先判断是不是第一个-{symbol=!symbol;}else{symbol=false;//第一个要直接取-;防止-12-1这种情况-12 取负了这时候-1直接翻转就变成正了}}else {symbol=true;//这个是如-12a3,如果a处没有变正,则3计算时候是按负。}}else {num=num*10+(symbol?cur:-cur);//这里不用sum 为了计算连续的数字}}sum+=num;//防止后的是数字没有加上return sum;}
}

字符串之数字子串求和相关推荐

  1. 如何用计算机猜数字,杭电2010计算机复试笔试题 2道acm简单题(2010):1.猜数字游戏;2.字符串提取数字并求和;...

    //第一题是猜数字的游戏. //题目:随即产生一个3位的正整数,让你进行猜数字, //如果猜小了,输出:"猜小了,请继续". //如果猜大了,输出:"猜大了,请继续&qu ...

  2. python字符串提取数字并求和_python实现将字符串中的数字提取出来然后求和

    因工作原因,很久没有学习python知识了,感觉都快忘记了,前天看到一个练习题,如何将字符串中的数字提取出来,然后求和呢?下面我来解释一下如何通过python代码来实现. 题目:字符串43...3y2 ...

  3. 接收输入的一行字符,统计出字符串包含数字的个数 2、编写一个程序,计算字符串中子串出现的次数 3、请输入星期几的第1个字母,用来判断是星期几,如果第1个字母一样,则继续判断第2个字母,依次类推。

    1.接收输入的一行字符,统计出字符串包含数字的个数 list_1 = input('请输入一行字符串:') count = 0 for i in list_1:if '0' <= i <= ...

  4. python字符串数字求和_python处理字符串:将字符串中的数字相加求和

    原博文 2018-07-27 23:15 − 计算字符串中所有数字的和,字符串中有数字和字母组合而成如果出现连续数字,按照一个数操作具体解释在代码行里: def sum_str(str1): len1 ...

  5. c++从字符串中提取数字求和_【函数应用】单元格文本内提取数字并求和

    本篇的主题是将单元格内一串文本,找出所有数字并求和,如下图. 难度较高,新手建议仅了解下,先学会数组运用,再研究此知识点. 废话少说,步入正题. 重点说明:本篇只针对文本内整数的数字进行提取并求和,如 ...

  6. mysql中如何求字段的个数字_求高手帮小弟解决一下!关于mysql字段中数字提取求和的问题?...

    例如表1中的No字段是字符串类型,no字段中包含数字及符号,如20+1.5,8+5+4等 那么有办帮法提取出20,1.5,8,5,4这些数字来进行求和等于38.5吗?语句怎么样写? 解决方案 30 提 ...

  7. C.【转】C语言字符串与数字相互转换

    1.gcvt 把浮点数转成字符串 - CSDN博客.html(https://blog.csdn.net/dxuehui/article/details/52791412) 1.1. 函数名: gcv ...

  8. 从命令行接收多个数字,求和之后输出结果

    设计思想:由于从键盘上输入在java里默认为字符串,要想求和必须先把字符串强行转化成数字,使用i=Integer.parseInt(arg),然后利用循环达到要求. 程序流程图: 代码: public ...

  9. 数字字符串转为数字 C语言实现

    数字字符串转为数字 C语言实现 在Java中经常用到一个操作,数字字符串转为数字,Integer.parseInt()方法给出来满意的解决方法,但是C语言怎么实现呢,其实也有方法,先买个关子,其实我想 ...

最新文章

  1. 知乎热帖:Qt 这么强大为什么火不起来?
  2. hook修改信息_React系列二十一 Hook(二)高级使用
  3. 重装windows后 用live cd修复ubuntu启动gurb
  4. 他在阿里的逆袭,只因为想做个“锤子”
  5. 实现机器学习的循序渐进指南VII——Blending Stacking
  6. java JDK8 学习笔记——第13章 时间与日期
  7. 玩转你的AlphaGo(MAC OS)
  8. freyja 可能会加入分库、分表功能
  9. 唯冠向苹果索赔100亿
  10. ZigBee网络数据传递流程_基于ZigBee远程通信的水质监测系统设计
  11. Saas与Paas、Laas服务模式了解
  12. (Codeforce 757)E. Bash Plays with Functions(积性函数)
  13. jupyter notebook 中import torchvision提示ImportError: DLL load failed: 找不到指定的模块
  14. Excel数值累加操作演示(一)
  15. C++编译动态库第三方库及使用
  16. 这5个设计师都在用的配色网站,你一定要收藏起来
  17. 推荐 10 个不错的网络监视工具
  18. 个人小程序生成链接跳转
  19. 路由器端口映射-原理+图解
  20. oracle杅擂踱阀葩,OraclERP产品总体介绍V10.ppt

热门文章

  1. 无法找到脚本文件adsutil.vbs的解决方法
  2. 读《程序是怎样跑起来的》第七章有感
  3. 第七章 前端开发——前端工程化(NPM、脚手架、前端环境搭建)
  4. 第二十六篇 面向对象初识
  5. 深入理解乐观锁与悲观锁
  6. java 实现生产者-消费者模式
  7. mac 远程桌面提示: 证书或相关链无效
  8. WebForm(文件上传)
  9. WAMP安装提示缺少 msvcr100.dll文件解决方法
  10. WINCE6.0远程桌面显示修改