java - 计算 ArrayList 中一系列字符串中出现的某个字母的数量

标签 java string arraylist intellij-idea char

我有一个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/

相关文章:

javascript - 给定一个字符串格式的函数,我如何将它转换回 javascript 中的函数?

Java 我该如何解析这个?

java - 在android中的BroadcastReceiver类的onReceive方法中访问ArrayList项目

java - 负载均衡器后面的 Spring OAuth2 SSO

java - 根据使用的预选验证数字在给定范围内是否有效

string - Xcode 6.1 和 Swift - 文本字段输入字符串到整数以进行基本数学

javascript - 使用换行符在行尾隐藏字符

java - 返回导致 NullPointerException 的 ArrayList 的方法

java - 使用 red5.io 在运行时连接 mp4 文件

Java时间: preserve date and time to other timezone