输入样例:
“aabcccccaaa”
输出样例:
a2b1c5a3
//判断字符串中有无重复字符
public class test9 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String src=sc.nextLine();
int p=1; //定义指针,初始位于字符串第二个元素
int cont=1; //用于计录重复字符出现的次数
StringBuilder sb=new StringBuilder(); //保存统计后的字符
for (int i = 0; i <src.length() ; i++) { //遍历字符串
if (p==src.length()) //浏览步骤3 : //若p到达字符串末尾 结束遍历
{
sb.append(src.charAt(i)); //将下标i对应的字符加入 StringBuilder中
sb.append(cont); //加入统计的数字
break; //结束遍历
}
if (src.charAt(i) == src.charAt(p)) { //浏览步骤1 : //遍历到的字符和p指向到的字符(即i和i的下一个字符相同)
cont++; //字符相同的话计数+1
} else if (src.charAt(i) != src.charAt(p)) { //浏览步骤2 : //遍历到的字符和p指向到的字符不同(即i和i的下一个字符不同)
sb.append(src.charAt(i)); //字符不同的话就把下标i对应的字符和数量追加到StringBuilder中
sb.append(cont);
cont = 1; //计数器置1,i指向的下个字符为第一次出现嘛
}
p++; //无论比较的字符是否相同,p指针都要往后走
}
System.out.println(sb);
}
}