【发布时间】:2018-10-22 15:08:09
【问题描述】:
我正在尝试输出字符串中的所有字母及其频率,但只有a 出现。我认为我的逻辑是正确的,但看起来我遗漏了一些东西。
我做错了什么,我该如何解决?
这是我的代码:
public static void solution(String s) {
char[] c = s.toCharArray();
int j = 0, i = 0, counter = 0;
for(i = 1; i < c.length; i++) {
if(c[i] != c[j]) {
i++;
} else {
counter++;
}
}
System.out.println("The letter " + c[j] + " appears " + counter + " times");
}
public static void main(String args[]) {
String s = "abaababcdelkm";
solution(s);
}
输出:
The letter a appears 1 times
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误和必要的最短代码 重现它在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
-
@JoeC 我认为 OP 正在尝试输出每个字母的频率,并且代码未按预期工作。我认为这个问题是公平的。
-
@sp92 问题是可变的,应该这样对待。如果有人说问题有问题,那不是对您的人身攻击。您应该将他们的反馈发送给improve the question,并告知您将来提问的方式。