【发布时间】:2014-07-25 09:06:14
【问题描述】:
我有一个项目要求我计算 Java 中字母的出现次数,由于某种原因,程序的输出只会给我字母“a”的出现次数。这是一个我知道如何解决的问题。
public String convert(String U) {
int aCount = 0;
int bCount = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
// ...
// removed for brevity
char[] count = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
char counting = U.charAt(i);
for (i = 0; i > U.length(); ++i) {
if (counting == count[0])
aCount = aCount + 1;
if (counting == count[1])
bCount = bCount + 1;
if(counting == count[2])
c++;
if(counting == count[3])
d++;
if(counting == count[4])
e++;
if(counting == count[5])
f++;
if(counting == count[6])
g++;
// removed for brevity.
// ...
System.out.println(aCount + bCount + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u + v + w + x + y + z);
}
return"";
}
【问题讨论】:
-
for (i = 0; i >counting.length(); ++i) 是什么意思?计数是一个字符,它怎么会有长度。你甚至编译过这段代码吗?并且不应该 count=U.charAt(i) 在 for 循环内?
-
你的
for循环永远不会运行,除非U.length()神奇地小于 0.... -
您将
counting.length()固定为U.length(),恭喜,您的for循环运行,您计算的字符现在应该在for循环内。 -
@Kartik_Koro
for循环运行?i > U.length()是什么时候?当i为 0 或 1 时肯定不会。 -
@MikeKoch 哦,我的错,我只是注意到他试图找到一个字符的长度(),我什至没有注意到错误的符号。是的,必须是 (i = 0; i