есть две проблемы, которые я вижу в этом коде
1 for (int i = 1; i < s1.length(); i++)
вы начинаете с индекса 1
, но строковые индексы начинаются с 0
2 if (s1.charAt(i) != s1.charAt(i - 1))
здесь вы сравниваете символы одинаковых строк s1
в других l oop, также это так
, пожалуйста, сначала исправьте их, затем спросите еще раз