如果我有一个字符串" SSSAAADDDCCC"我将如何打印" SADC"。可以使用SubString完成,还是必须使用charAt()?
答案 0 :(得分:1)
有一种简单的方法可以做到这一点 - 但是由于我没有看到任何代码,我认为你没有任何努力,我不会只给你答案。下面是一些psudo代码,您可以尝试找到正确的答案。祝你好运!
currentChar = myString.charAt(0);
i = 0;
print current character //as per comments, cover the base case
while(string has more characters)
if current character != next character
print next character
i++
答案 1 :(得分:0)
使用正则表达式将所有重复字符替换为单个字符:
"SSSAAADDDCCC".replaceAll("(.)\\1+", "$1") // returns "SADC"
(.)
匹配并捕获一个字符
\\1+
匹配捕获角色的一个或多个实例
$1
用捕获的字符替换整个匹配值。
非重复字符不匹配,因此不在一起。
答案 2 :(得分:0)
如果你不喜欢charAt方法,你可以使用这样的子串:
int j=0;
String in="sssdddaaaccc";
String out="";
for(int i=0;i<4;i++)
{
out=out+in.subString(j,j+1);
for(j=j; j<3;j++);
}
System.out.println(out);