我有一个ArrayList,以“洗碗”的形式存储注释(字符串)。我有一个注释类,其中的方法应该遍历 ArrayList 中的所有注释并计算某个字母出现的次数。这是我到目前为止写的方法:
public int countNumberOf(String letter) {
int count = 0;
for (int i = 0; i < notes.size(); i++) {
String note = (notes.get(i));
for (int j = 0; i < note.length(); i++) {
String letterTemp = note.substring(i, i);
if (letterTemp.equalsIgnoreCase(letter)) {
count++;
}
}
}
return count;
}
但是,当我运行该程序时,即使我知道字母“a”出现在 ArrayList 中,我的出现次数仍为零。我做错了什么?
最佳答案
note.substring(i, i)
将始终返回空字符串,因此 letterTemp.equalsIgnoreCase(letter)
将始终返回 false
。您应该使用 note.substring(i, i+letter.length())
虽然我建议你在这种任务中使用char
进行比较。主要是为了简单起见,并避免不必要的中间字符串。逻辑是一样的
关于java - 计算 ArrayList 中一系列字符串中出现的某个字母的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35952383/