您的位置:首页 > 其它

在字符串中找出连续最长的数字串

2018-03-31 15:53 288 查看
题目描述:
样例输出
输出123058789,函数返回值9
输出54761,函数返回值5

输入描述:
输入一个字符串。

输出描述:
输出字符串中最长的数字字符串和它的长度。如果有相同长度的串,则要一块儿输出,但是长度还是一串的长度

import java.util.ArrayList;
import java.util.Scanner;

public class Main
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext())
{
String str = scanner.nextLine();
ArrayList<String> list = new ArrayList<>();
int i = 0;
String tmp;
while (i < str.length())
{
int j = i;
while (j < str.length() && str.charAt(j) >= '0' && str.charAt(j) <= '9')
j++;
if (j != i)
{
tmp = str.substring(i, j);
list.add(tmp);
tmp = "";
i = j + 1;
}
else
i++;
}
int max = 0;
for (String s: list)
if (s.length() > max)
max = s.length();
for (String s: list)
if (s.length() == max)
System.out.print(s);
System.out.println("," + max);
}
}
}

import java.util.Scanner;

public class Main
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext())
{
String str = scanner.nextLine();
String newStr = "";
for (char c: str.toCharArray())
{
if (c >= '0' && c <= '9')
newStr += c;
else
newStr += " ";
}
String[] strs = newStr.split("\\s+");
int max = 0;
for (String s: strs)
if (s.length() > max)
max = s.length();
for (int i = 0; i < strs.length; i++)
if (strs[i].length() == max)
System.out.print(strs[i]);
System.out.println("," + max);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: