在一行中输出str中连续最长的数字串
eg:输入str:abcd12345de125ss123456789
输出:123456789
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
int bj=0;//标记一个数字串长度,0代表结束,1代表开始
int max=0;//max是最大长度,最后可以通过max 遍历,也就是数字串开始位置->数字串开始位置+max
int ks=0;//标记每次数字串开始位置
int maxKs=0;//最长字符串开始位置
for(int i=0;i<str.length();i++){
//遍历到数字
if(48<=str.charAt(i)&&str.charAt(i)<=57){
bj++;
if(bj==1){//每次数字串第一个位置
ks=i;
}
if(max<bj){//新的最长出现
max=bj;
maxKs=i-max;
}
}else{//遍历到非数字
bj=0;
}
}
for(int i=maxKs+1;i<=maxKs+max;i++){
System.out.print(str.charAt(i));
}
}