求字符串中数字子串求和
来源:互联网 发布:四川南充广电网络 编辑:程序博客网 时间:2024/05/29 11:38
此问题网上已经有很多解答,但是说实话我还是看不懂, 然后自己揣摩了一下,修改成比较好理解的方式,现在贴出来:
package 字符串中数字子串求和;
public class Test2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String s="A-1B--2C--D6E";
//s="A1CD2E33";
System.out.println(add(s));
}
//我改进的易于理解的方法
private static int add(String s) {
// TODO 自动生成的方法存根
if(s==null)
return Integer.MIN_VALUE;
int len=s.length();
int res=0;//最后需要返回的数字
int num=0;//相邻出现数字的情况下,几个相邻的数字转换成的具体数字
boolean flag=true;//判断符号的个数
int temp=0;//用来保存单个分离出来的数字
for(int i=0;i<len;i++){
temp=s.charAt(i)-'0';
if(temp<0||temp>9){//说明不是数字,上次数字计算已经结束,本轮重新开始
res+=num;//开始计算上一轮计算之后的运算结果
num=0;//这一轮重新开始,num重新赋值为0
if(s.charAt(i)=='-'){//分离出来的字符不是字母而是负号
flag=!flag;//改变一次符号,此处如果先前定义的flag为int
//类型,则flag=flag*(-1);
}
}
else{//出现数字的情况!
num=num*10+(flag?temp:-1*temp);//如果先前定义的flag为int类型
//则此处为num=num*10+flag*temp;
flag=true;//每计算完一次后,flag重新赋值,int类型为flag=1;
}
}//endfor
res+=num;//最后一次num计算完成后,跳出for循环,需要进行加法运算
return res;
}
}
- 求字符串中数字子串求和
- 字符串中数字子串的求和
- 字符串中数字子串的求和
- 字符串中数字子串的求和
- 字符串中数字子串的求和
- 字符串中数字子串的求和
- 字符串中数字子串的求和
- 字符串中数字子串的求和
- 字符串中数字子串的求和
- 字符串问题---字符串中数字子串的求和
- 5.2 字符串中数字子串的求和
- 改进版---字符串中数字子串的求和
- 字符串之数字子串求和
- 对字符串中的数字子串求和
- C++字符串数字子串求和
- 求字符串中最长连续数字子串的长度
- 求字符串中最长连续数字子串的长度
- [编程之美-08]字符串中数字子串的求和
- Power Set Generation by Recursion in C++11
- BSOJ3363 魔板 神级骗分,数据之水
- 在eclipse中建立一个Web,没有web.xml的解决方法
- 类与对象一
- 【SpringBoot教程二】:RESTfull API简单项目的快速搭建
- 求字符串中数字子串求和
- Eclipse 怎么恢复删除的文件
- EasyRTMP 简单高效的RTMP推送库
- JAVA_Enumeration
- tomcat结合nginx实现多个tomcat同时运行,tomcat负载均衡
- Sql的嵌套查询
- 机房收费系统文档总结
- 共享内存
- 涉及详情页的信息爬取