题目

从标准输入读入一个字符串和一个目标字符 ch,统计并输出目标字符在字符串中出现的次数。

输入格式:第一行输入一个不含空格的字符串;第二行输入待统计的目标字符 ch。

输出格式:输出一个整数,表示该字符在字符串中出现的频次,末尾换行。

数据范围与约定:字符串长度不超过 500。区分大小写。

思路与算法

1. 字符串遍历
以字符串结束标志 '\0' 为循环终止条件,通过 for (int i = 0; s[i] != '\0'; i++) 顺序遍历。

2. 字符匹配累加
当 s[i] == ch 时计数器自增 1,时间复杂度为 O(n)。

完整程序

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        char target = sc.next().charAt(0);

        int count = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == target) {
                count++;
            }
        }

        System.out.println(count);
    }
}

运行示例

输入:

banana a

输出:

3