2 回答
TA贡献1825条经验 获得超4个赞
如果您只想打印连续的重复项(即对于输入“aassdesdd”,输出 asd 而不是 assdd),您可以将内部循环与等式检查结合起来:
for(int i = 0; i < s1.length(); i++) {
for(int j = i + 1; j < s1.length() && str1[i] == str1[j]; j++) {
System.out.println(str1[j]);
}
}
TA贡献1812条经验 获得超5个赞
如果您只想打印连续的不同字符,那么您只有一个循环,并且每次迭代,您都可以检查当前和下一个字符。如果它们相同,则打印。为了避免再次打印相同的字符,我们可以设置标志。这可以使用单循环来实现
char[] str1 = "aasssdesdd".toCharArray();
boolean flag=true;
for(int i = 0; i < str1.length-1; i++) {
if (flag && str1[i]==str1[i+1])
{
System.out.println(str1[i]);
// we found duplicate, mark the flag as false
flag=false;
continue;
}
flag = true;
}
输出 :
a
s
d
添加回答
举报