import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* 杭电2015年 计算机学院 复试 笔试题第一题 JAVA解答
* author 刘汪洋 QQ 605283073
* 求出:字符串如:“34223abd#34SB-11--”
* 中整数的和 其中-在数字前表示负号,否则为字符
*/
public class Test5
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String input = "";//获取输入的字符串
int sum;//总和
int num;//数字
try //加入异常处理
{
while(in.hasNext())
{
sum = 0;//每获取一次输入 将总和以及数字清零
num=0;
input=in.nextLine();//读取用户输入的字符串
String reg = "[\\-|\\+]?\\d+";//正则表达式 前面可以带课不带+或- 后面是 一到多个数字
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(input);
while(m.find())//如果陪陪
{
// System.out.println(input.substring(m.start(),m.end()));
num = Integer.parseInt(input.substring(m.start(),m.end()));
sum+=num;//将截取的sum相加
}
System.out.println("所输入字符串中数字的总和为:"+sum);
}
}catch(Exception e)
{
e.printStackTrace();
}finally//最终关闭 流
{
in.close();
}
}
}
效果:
2015考研 杭电 计算机学院 复试笔试题第一题 JAVA语言解法
原文地址:http://blog.csdn.net/w605283073/article/details/44803363