首先我对这道题进行一个讲解:
- 我自己的一个思路是从转变字母的角度进行分析.当我们在输入字符串之后,题目所述不区分大小写字母,所以我们有必要将输入的字符串全部转换为大写字母或者小写字母.在第二行输入验证字符之后,我们也需要进行字母的转换.最后带着第二行输入的字母与第一行的字符串进行比对最后得到结果.
- 在做这道题之前我们首先要了解字母转换的语法以及后期进行比对的语法.当我们转换为大写字母的时候,我们要用到String toUpperCase().当我们转换为小写字母的时候我们需要用到String toLowerCase().最后我们在进行字母比对的时候需要用到char charAt(int index),这个语法的作用就是返回index所对应的字符
importjava.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息publicclassMain { publicstaticvoidmain(String[] args) { Scannerin=newScanner(System.in); // 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseStringa=in.nextLine(); Stringb=a.toUpperCase(); Stringc=in.nextLine(); Stringd=c.toUpperCase(); intcount=0; for (inti=0; i<b.length(); i++) { for (intj=0; j<d.length(); j++) { if (b.charAt(i) ==d.charAt(j)) { count++; } } } System.out.println(count); } } }
注意:以上是我对这道题目的一个实现算法,但是执行效率可能会低,因为我在此处用到了两个for循环语句.
讲解:核心实现语句为for循环语句,这个语句的解释如下:进行第一行字符串的遍历,如果i=0往后对应的字符等于第二行输入的字符,那么count即加1.count统计的就是某字符在字符串中出现的次数.