描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:1≤n≤1000
输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
示例1
输入:ABCabc
A
输出:2
public static void main(String[] args){
int count = 0,i;
Scanner in = new Scanner(System.in);// 从键盘接收数据
if(in.hasNextLine()){// 判断是否还有输入
String str1 = in.nextLine();// nextLine方式接收字符串
String str2 = in.nextLine();
String[] a = str1.split("\\s");//根据给定正则表达式的匹配拆分此字符串。用空格作为规则分割为字符串数组a[]
for(i=0;i<a.length;i++){//循环字符串数组a[]
char[] b = a[i].toCharArray();//toCharArray()把每一个字符串数组转换为新的字符数组b[]
for (int j=0;j<b.length;j++){
/**
* boolean equalsIgnoreCase(String anotherString):将此 String str2 与另一个 String 比较,不考虑大小写
* String.valueOf():String.valueOf(char c) : 将 char 变量 c 转换成字符串
*/
if(str2.equalsIgnoreCase(String.valueOf(b[j]))){//将字符数组b[]转换成字符串与str2比较,不区分大小写
count++;
}
}
}
if(str2.equals(String.valueOf(" "))){//别忘了判断一下想要输出的字符个数是不是空格
count = i-1;
System.out.println(count);
}else {
System.out.println(count);
}
}
}
只是个人思路,如果有更好的方法,欢迎讨论!!!