题目描述
读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:
测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
示例
输入
abcd12345ed125ss123456789
输出
123456789
解题思路
遍历字符串,使用cur去记录连续的数字串,如果遇到不是数字字符,则表示一个连续的数字串结束了,则将数字串跟之前的数字串比较,如果更长,则更新更长的数字串更新到res
实现代码
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
String str = scan.nextLine();
String cur = "";
String ret = "";
int i = 0;
for(;i<str.length();i++){
char ch = str.charAt(i);
if(ch >= '0' && ch <= '9'){
cur = cur + ch + "";
}else{
if(cur.length() > ret.length()){
ret = cur;
}else{
cur = "";
}
}
}
//处理123abc123456这种情况
if(i == str.length() && cur.length() > ret.length()){
ret = cur;
}
System.out.println(ret);
}
}
}