华为OJ——在字符串中找出连续最长的数字串

题目描述

样例输出

输出123058789,函数返回值9

输出54761,函数返回值5

 

接口说明

函数原型:

   unsignedint Continumax(char** pOutputstr,  char* intputstr)

输入参数:
   char* intputstr  输入字符串;

输出参数:
   char** pOutputstr: 连续最长的数字串,如果连续最长的数字串的长度为0,应该返回空字符串;如果输入字符串是空,也应该返回空字符串;  

返回值:
  连续最长的数字串的长度

 

输入描述:
 
   

输入一个字符串。

输出描述:
 
   

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

输入例子:
abcd12345ed125ss123058789
输出例子:
123058789,9
将不是数字的字符全部变成‘a’,再将字符串用a来分割称数组,长度最大的数组的长度即为所求的长度,再输出对应数组元素即可

import java.util.*;
public class Main{
	public static void main(String[] args) {

		Scanner scan=new Scanner(System.in);
		while(scan.hasNext())
		{
			String str1="";
			String str=scan.nextLine();
			for(char ch:str.toCharArray()){
				//将不是数字的字符全部变成a
				if(ch>='0' && ch<='9'){
					str1+=ch;
				}else{
					str1+="a";
				}
			}
			//按a分割
			String[] strs=str1.split("a");
			int max=0;//记录最长的连续数字串的长度
			for(int i=0;imax?strs[i].length():max;
			}
			for(int i=0;i



你可能感兴趣的:(#,华为OJ系列,#,Java笔试题汇总(华为OJ))