题目描述
写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
输入描述:第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:输出输入字符串中含有该字符的个数。
思路:感觉思路挺简单的,就是遍历整个字符串,找到相同的数量就加1,但是这个题是要区分大小写的,这个要注意。除了这个意外,我自己不熟的还有输入怎么写,这部分也要注意。下面的代码是牛客网上大神的代码:
这里需要注意equalsIgnoreCase()这个方法。与一般的equals()相比,这个方法比较的参数只能是字符串,并且只有字符串的长度相等,大小写是忽略的。而equals()是比较字符串的大小写和长度相同。
代码:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner s=new Scanner(System.in);
String all=""; //用于存放所有的字符串
String one="";//用于存放要查找的字符串
char[] ac; //字符数组
int num=0;
while(s.hasNext())
{
all=s.nextLine();//回车之前的所有字符,即全部的字符串
one=s.nextLine();//接受要查找的字符串
//转换为字符数组
ac=all.toCharArray();
for(int i=0;i<ac.length;i++)
{
if(one.equalsIgnoreCase(String.valueOf(ac[i]))) //参数都是字符串,所以需要先转换为字符串
num++;
}
System.out.println(num);
}
}
}