Я новичок в Java. Я понимаю, как использовать цикл for, чтобы пройти строку и посчитать, сколько раз встречается символ. Если у меня есть строка с именем x, которая инициализируется как «aaabbbcccaaa», я хочу, чтобы моя программа сообщала мне, что есть 3a, затем 3b, затем 3c, а затем 3a. Таким образом, будет выведено что-то вроде 3a3b3c3a.
У меня есть следующий код:
public class ConsequentChars{
public static String chars ( String x ){
int len = x.length();
String charOccurs = "";
int count = 0;
for(int i=0;i<len;i++){
for(int j=0;j<len;j++){
if(x.charAt(i)==x.charAt(j)){
count++;
}
}
charOccurs+=Integer.toString(count)+x.charAt(i);
count = 0;
}
return rle;
}
public static void main(String[] args){
System.out.println(chars("aaaaabbbbcccdde"));
}
}
Из кода выше я получаю:
5a5a5a5a5a4b4b4b4b3c3c3c2d2d1e
.
Когда это должно быть:
5a4b3c2d1e
.
Я не уверен, что я могу сделать, чтобы это исправить. Я ценю любую помощь:)