题目
输入一个字符串。
输出
输出字符串中最长的数字字符串和它的长度。
如果数字字符串为空,则只输出0
如 input: dadfsaf output:0
样例输入 abcd12345ed125ss123058789
样例输出 123058789,9
通过 得分100
=================================================================
import java.util.Scanner;
//输入一个字符串。
//输出
//输出字符串中最长的数字字符串和它的长度。
//如果数字字符串为空,则只输出0
//如 input: dadfsaf output:0
//样例输入 abcd12345ed125ss123058789
//样例输出 123058789,9
public class oj005 {
public String str;
public oj005(String str) {
this.str=str;
}
//获得最长的数字串的数字个数
public int getLongestCount()
{
int max=0;
int n=0;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)>='0'&&str.charAt(i)<='9') {n++;} //是数字累加
else{n=0;}//不是数字清零
if(n>max)
{
max=n;
}
}
//System.out.print(max);
return max;
}
public void findLongestNumber()
{
int max=getLongestCount();//获取最大个数
if(max==0)
{
System.out.print(0);
}
else
{
int n=0;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)>='0'&&str.charAt(i)<='9') {n++;}
else{n=0;}
if(n==max) //找到等于最大个数的数字串末尾
{
System.out.print(str.substring(i-max+1, i+1)); //截取此数字串并输出
}
}
System.out.print(","+max);
}
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
new oj005(scanner.nextLine()).findLongestNumber();
}
}