標籤:杭電 acm java 考研複試
杭電 2015年考研 電腦學院 複試筆試第一題 JAVA解法
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+";//Regex 前面可以帶課不帶+或- 後面是 一到多個數字 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語言解法