最长数字串
2019獨角獸企業重金招聘Python工程師標準>>>
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern;
public class seven_2015 { private static Pattern p = Pattern.compile("\d+"); private static Matcher m; private static Scanner sc;
private static void check(StringBuffer str) {if(str.charAt(str.length()-1) != '#') {System.out.println("輸入字符串,請以#結尾.");System.exit(0);} }public static void main(String[] args) {sc = new Scanner(System.in);StringBuffer str = new StringBuffer(new String(sc.nextLine()));check(str); //檢查輸入的字符串是否合法m = p.matcher(str);int maxLen = 0;int startPosition = -1;int startTemp = -1;String target = "";String temp = "";while(m.find()){ //找到匹配temp = m.group(); //拿到匹配字符串if(temp.length() > maxLen) { //找到當前最大字符串startPosition = m.start()+1;target = temp;maxLen = temp.length();}}if(startPosition != -1) {System.out.println(target+" " + "起始位置:" + startPosition);}else {System.out.println("未找到");}m.reset(); //重置m指針// 可能出現多個數字串是相同長while(m.find()){ //找到匹配temp = m.group(); //拿到匹配字符串startTemp = m.start() + 1;if(temp.length() == maxLen && startTemp != startPosition) {System.out.println(temp+" " + "起始位置:" + startTemp);}}sc.close(); }}
轉載于:https://my.oschina.net/chenmoxuan/blog/1786706
總結
- 上一篇: 浅谈 JSON.stringify 方法
- 下一篇: 如何解决每次打开office 都会出现正