欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

字符串的统计字符串

程序员文章站 2022-04-30 22:09:56
...

字符串的统计字符串

//字符串的统计字符串
public class GetCoutString{
	//统计字符串
	public static String getCountString(String str)
	{
		if(str==null||str.equals(""))
		{
			return "";
		}
		char[]chs=str.toCharArray(); //字符串转换成数组
		String res=String.valueOf(chs[0]);
		int num=1;
		for(int i=1;i<chs.length;i++)
		{
			if(chs[i]!=chs[i-1])
			{
				res=concat(res,String.valueOf(num),String.valueOf(chs[i]));
				num=1;

			}else
			{
                 num++;
			}
		}
		return concat(res,String.valueOf(num),"");

	}
	//串连接
	public static String concat(String s1,String s2,String s3)
	{
       return s1+"_"+s2+(s3.equals("")?s3:"_"+s3);
	}
     
     //返回字符
	public static char getCharAt(String str,int index)
	{
        if(str==null||str.equals(""))
        {
        	return 0;
        }
        char[]chs=str.toCharArray(); //字符串转数组
        boolean stage=true;
        char cur=0;
        int num=0;
        int sum=0;
        for(int i=0;i!=chs.length;i++)
        {
        	if(chs[i]=='_')
        	{
        		stage=!stage;
        	}else if(stage)
        	{
        		sum+=num;
        		if(sum>index)
        		{
        			return cur;
        		}
        		num=0;
        		cur=chs[i];
        	}else{
        		num=num*10+chs[i]-'0';
        	}
        }
        return sum+num>index?cur:0 ;
	}

	public static void main(String[]args)
	{
        String str="aaabbadddffc";
        System.out.println(getCountString(str));

        //返回索引所在的字符串
        System.out.println(getCharAt(getCountString(str),6));


	}
}
字符串的统计字符串