读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:
个测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
示例1
输入
abcd12345ed125ss123456789
输出
123456789
方法一:
import java.util.Scanner;
public class Test0 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String pai=sc.nextLine();
int[] jilu={-1,-1,0};
int begin=-1,last=-1,count=0;
if(pai.charAt(0)>=30&&pai.charAt(0)<=39){
begin=0;
count=1;
}
for(int i=1;i<pai.length();i++){
char c0=pai.charAt(i-1);
char c1=pai.charAt(i);
if((c0>=48&&c0<=57)&&(c1>=48&&c1<=57)){
count++;
if(i==pai.length()-1){
last=i+1;
if(jilu[2]==0||count>=jilu[2]){
jilu[0]=begin;
jilu[1]=last;
jilu[2]=count;}
}
}
else if((c0>=48&&c0<=57)){
last=i;
if(jilu[2]==0||count>=jilu[2]){
jilu[0]=begin;
jilu[1]=last;
jilu[2]=count;}
}
else if((c1>=48&&c1<=57)){
begin=i;
count=1;
if(i==pai.length()-1){
last=i+1;
if(jilu[2]==0||count>=jilu[2]){
jilu[0]=begin;
jilu[1]=last;
jilu[2]=count;}
}
}
else ;
}
String str;
if(jilu[2]>0)
str=pai.substring(jilu[0],jilu[1]);
else str="";
System.out.println(str);
}
}
方法 二:
import java.util.Scanner;
public class Test1{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String[] arr = s.split("[\\D]+");
String result="";
int max = 0;
for(int i=0;i<arr.length;i++){
if(arr[i].length()>max){
max=arr[i].length();
result = arr[i];
}
}
System.out.println(result);
}
}