【思路一】 1、输入一个字符串、一个字符,全部转换为大写或者小写 2、字符串转换为数组,然后遍历字符串中的全部信息,分别和输入的字符比较是否相等 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner input=new Scanner(System.in); String str=input.nextLine().toUpperCase(); char ch=input.nextLine().toUpperCase().charAt(0); int count=0; if(!str.isEmpty()){ for(int i=0;i<str.toCharArray().length;i++){ if(str.toCharArray()[i]==ch){ count++; } } } System.out.print(count); } }

【思路二】 1、输入一个字符串、一个字符,全部转换为大写或者小写 2、第一个字符串中中如果包含输入的字符,则全部替换为空 3、计算源字符串(步骤1)和替换字符串(步骤2)中的长度差

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner input=new Scanner(System.in); String str=input.nextLine().toUpperCase(); String str2=input.nextLine().toUpperCase(); String str3=str.replaceAll(str2,""); System.out.print(str.length()-str3.length()); } }

【思路上】 1、定义hashmap实现 2、需要添加注解@Suppxxx,否则调试时提示不安全操作

import java.util.Scanner; import java.util.HashMap; @SuppressWarnings("unchecked") public class Main{ public static void main(String[] args){ Scanner input=new Scanner(System.in); String str=input.nextLine().toUpperCase(); char ch=input.nextLine().toUpperCase().charAt(0); char[] strList=str.toCharArray(); HashMap<Character,Integer> map=new HashMap(); for(char c:strList){ if(map.containsKey(c)){ map.put(c,map.get(c)+1); }else{ map.put(c,1); }

    }
    int count=map.getOrDefault(ch,0);
    System.out.print(count);

} }