杭电 2015年考研 计算机学院 复试笔试第一题 JAVA解法
代码语言:javascript复制 import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo3
{
public static void main(String [] args)
{
Scanner in = new Scanner(System.in);
String input = "";//获取输入的字符串
int sum;//总和
int num;//数字
boolean flag;//是否含有数字的标志
try //加入异常处理
{
while(in.hasNext())
{
flag=false;
sum = 0;//每获取一次输入 将总和以及数字清零
num=0;
input=in.nextLine();//读取用户输入的字符串
String reg = "-?\d ";//正则表达式 前面可以带课不带 或- 后面是 一到多个数字
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(input);
while(m.find())//如果陪陪
{
flag = true;
// System.out.println(input.substring(m.start(),m.end()));
num = Integer.parseInt(m.group());//将截取的数字转换为整型
sum =num;//将截取的数字与sum相加
}
if(flag)
{
System.out.println("所输入字符串中数字的总和为:" sum);
}else
{
System.out.println("所输入字符串中不含整数");
}
}
}catch(NumberFormatException e)
{
// e.printStackTrace();
System.out.println("数字格式异常");
}finally//最终关闭 流
{
in.close();
}
}
}
效果: