描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
示例1
输入:
ABCabc
A
输出:
2
第一种方法:哈希
思路:将读入的字符串中的相同字母(不区分大小写)作为key,出现次数作为value存入HashMap,最后输出要求找的字符个数。
import java.util.HashMap;
import java.util.Scanner;
import java.lang.String;
public class Main {
public static void main(String[] args) {
HashMap<Character,Integer> hashMap=new HashMap();
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine().toLowerCase();//字符串全部小写
char a=scanner.next().charAt(0);
char b=Character.toLowerCase(a);//字符转换为小写
for(int i=0;i<s.length();i++)
{
if(hashMap.containsKey(s.charAt(i)))
{
int j=hashMap.get(s.charAt(i)).intValue();
j++;
hashMap.put(s.charAt(i),Integer.valueOf(j));
}
else
hashMap.put(s.charAt(i),1);
}
if(hashMap.containsKey(b))
System.out.println(hashMap.get(b));
else
System.out.println(0);
}
}
第二种方法:
import java.util.Scanner;
import java.lang.String;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine().toLowerCase();//字符串全部小写
char a=scanner.next().charAt(0);
char b=Character.toLowerCase(a);//字符转换为小写
int n=0;
for(int i=0;i<s.length();i++) {
if(s.charAt(i)==b) {
n++;
}
}
System.out.println(n);
}
}