Java - 将字符串中的重复字符组合起来
问题描述:
(这不是作业) 我们有一些额外的练习,我们可以做,我做了一些。 但我被困在这一个... 我需要一个程序,给予字符串“loool”打印“l:1:o:3:l:1”。 我已经尝试了一堆组合,但我一直得到相同的问题: - 我不能让最后一个重复的字母来打印(因为用我的代码下一个字符需要是不同的打印发生)。Java - 将字符串中的重复字符组合起来
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();
答
为了处理这个问题,您需要在循环完成后添加一些逻辑。此逻辑可能与您在else
块中使用的一些代码非常相似。
+0
明白了。 我想在for()里面做所有的事情,在循环之后添加东西从未想过。 – Zentdayn 2011-12-24 20:10:20
所以另一个停止条件是字符串的结束不只是一个不同的下一个字符 – 2011-12-24 20:01:25