《好未来编程题》字符串中找出连续最长的数字串

题目:读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:
个测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
示例1
输入
abcd12345ed125ss123456789
输出
123456789
解析:该题目不难,但是提交的时候有注意点,就是在while里需要加break才能通过,无语了,貌似不支持连续测试的样子,ok,直接上代码了。
【《好未来编程题》字符串中找出连续最长的数字串】思考:回头想了想,其实该题目没有说的很清楚,比如有可能连续的最长子串不止一个,输出第一个?还是最后一个?还是都输出?所以题目的意思应该是假定只有一个最长的连续子串才。

import java.util.Scanner; /** * Created by Administrator on 2017/8/8. */ public class Main {public static String maxSubNumbers(String s){ String result=""; for(int i=0; iif(s.charAt(i)>='0'&&s.charAt(i)<='9'){//当前的字符是数字了 int count=1; //计数一次 int index=i; //存储当前的截止索引 for(int j=i+1; j//从当前的下一个字符开始找 if(s.charAt(j)>='0'&&s.charAt(j)<='9'){ count++; //找到了就计数 index=j; //需要保存当前的索引,便于后面求子串 }else { break; } } if(count>=result.length()){ result=s.substring(i,index+1); } }else { continue; } }return result; }public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()){ String s=sc.next(); System.out.println(maxSubNumbers(s).trim()); break; }} }

    推荐阅读