您的位置:首页 > 编程语言 > Java开发

java求得字符串中的最长数字串

2016-07-09 17:18 483 查看
求得“iou123jk3ui456789kljh23678h”中连续数字串并且返回最长的数字字符串长度

public static StringBuffer getMaxNum(String str1)
{
int maxLength=0;
StringBuffer maxNumBuffer=null;
int nowLength=0;
StringBuffer nowNumBuffer=null;
for(int i=0;i<str1.length();i++)
{
//判断该字符是不是数字
if(str1.charAt(i)>=48 && str1.charAt(i)<=57)
{
//处理第一个数字字符的时候,用append(c)会报空指针异常
if(nowLength==0)
{
nowNumBuffer=new StringBuffer(String.valueOf(str1.charAt(i)));
nowLength++;
}
else
{
nowNumBuffer.append(str1.charAt(i));
nowLength++;
if(nowLength>=maxLength)
{
maxLength=nowLength;
maxNumBuffer=nowNumBuffer;
}
}
}else
{
//用于连续数字之后非数字,清楚当前的nowNumBuffer
nowLength=0;
nowNumBuffer=null;
}
}
return maxNumBuffer;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法