(这不是作业) 我们可以做一些额外的练习,而且我做了一些。 但是我被困在这一个...... 我需要创建一个程序,给出字符串“loool”打印“l:1:o:3:l:1”。 我尝试了一堆组合,但我一直遇到同样的问题: - 我不能让最后一个重复的字母得到打印(因为使用我的代码,下一个字符需要不同才能打印出来)。
String str = "loool";
StringBuilder sb = new StringBuilder();
int count = 1;
char before;
before = str.charAt(0);
for (int i = 1;i < str.length();i++) {
if (str.charAt(i) == before) {
count++;
}
else {
sb.append(before + ":" + count);
before = str.charAt(i);
count = 1;
}
}
return sb.toString();
答案 0 :(得分:0)
您需要在循环结束后添加一些逻辑,以便解决此问题。此逻辑可能与您在else
块中使用的某些代码非常相似。