【发布时间】:2018-09-08 08:35:18
【问题描述】:
仅当字符彼此相邻时如何计算字符,否则只需按原样打印字符。根据我对Java的一点了解,写了如下代码。
例如字符串 w="kjiikkkjial";
结果应该是:kji2k3jial
String am ="asbbaamkkkjkssg";
char op = 0;
char[] ch = am.toCharArray();
for(int i=0; i<ch.length; i++) {
int k=1;
for(int j=i+1; j<ch.length; j++) {
if(ch[i]==ch[j]) {
k++;
op=ch[j];
i=j;
}
else break;
}
if(k>1)
System.out.print(op+""+k);
else
System.out.print(ch[i]);
}
【问题讨论】:
-
“xyz怎么办?” => 通过编写代码!如果您这样做并遇到困难,请向我们展示您的尝试并解释您遇到的确切问题。
-
你想要的是运行长度编码。您尝试过什么(您知道如何将数字附加到字符串?比较两个字符?索引字符串?等等)?
-
看起来像复制品。这可能是你的答案:stackoverflow.com/questions/11442162/java-run-length-encoding
-
@Selenvirtuose,对不起,我忘了添加代码,现在我有..
-
@komiii 不一样,字符串只是由重复的字符组成。
标签: java