Code thu gọn chuỗi bị sai

Viết xử lý chuỗi ví dụ có chuỗi AABJJKAASSS thì phải in ra : 2AB2JK2A3S
Và e có đoạn code như sau, nhưng nó chỉ xử lý đến 2AB2JK2A, đọc mãi vẫn ko hiểu tại sao nó ko xử lý hết. Mọi người giúp e ạ

 String a = "AABJJKAASSS";
    int dem = 1;
    String b = String.valueOf(a.charAt(0));
    for(int i = 1;i< a.length();i++){
      if(b.equals(String.valueOf(a.charAt(i)))){
      	dem++;
      }else{
      	if(dem==1)System.out.print(b);
        else{
        System.out.print(dem+""+b);
        }
        dem=1;
        b=String.valueOf(a.charAt(i));
      }
    }

Bạn thiếu kí tự cuối cùng.

Nếu i là kí tự cuối cùng, thì phải in kí tự đó ngay.

1 Like

bạn có thể sửa code của mình đc ko ạ

Mình đã sửa lại một chút:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?