【发布时间】:2018-05-18 07:14:54
【问题描述】:
我有一个字符串
String alpha="AAAABBCCCDAA";
我需要在这个字符串中做一些处理并对每个字符进行计数,并且应该产生类似
的结果 4A2B3C1D2A
我的代码工作正常,但将 A 视为一个整体并不会单独计算最后一个 A
String text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String alpha = "AAAABBCCCDAA";
for (char a : text.toCharArray()) {
int counter = 0;
for (char b : alpha.toCharArray()) {
if (a == b)
counter++;
}
if (counter != 0) {
System.out.print(counter);
System.out.print(a);
}
结果是:6A2B3C1D
我应该在代码中放入什么样的逻辑和想法?
【问题讨论】:
-
如果 a !=b,停止循环?
-
您应该采用不同的方法,遍历您的
alpha,然后执行一个简单的 3 步算法:1.) 获取当前字符。 2.) 继续循环,直到遇到不同的字符。记下出现的次数。 3.)将计数器+字符添加到您的输出中。冲洗并重复,直到您到达alpha的末尾