Моя задача - удалить последовательно повторяющиеся символы и заменить количество повторяющихся символов в строке. Когда я сравнивал два символа, я получил IndexOutOfBoundException. Я не знаю, как это исправить. Новичок. Здесь я прикрепил свой код. Может ли кто-нибудь проверить мой код и помочь мне.Сравнить символы в строке в java?
программа:
import java.util.*;
public class RemoveDupchar{
public static void main(String []args){
String string = "aabbccdefatafazaacddsegf";
char[] chars = string.toCharArray();
ArrayList<Character> al=new ArrayList<Character>();
for(char c : chars)
{
al.add(c);
}
int i=0;
int j=0,k=1;
char[] r = new char[100];
for(i=0;i<al.size();i++)
{
char ch;
ch=al.get(i);
if(ch!=al.get(i+1)) **//I got Runtime error here**
{
r[j++]=ch;
}
else
{
r[j++]=ch;
while(al.get(i)==ch)
{
++k;
++i;
}
r[j++]=(char)k;
}
}
for(char c: r)
{
System.out.print(c);
}
}
}
Точный stacktrace пожалуйста, нам нужно больше деталей. – Li357