这道题,注意以下几点:
1、字符串和字符的输入方法
next()和nextLine()的区别:
(1)hasNext 与 hasNextLine 判断是否还有输入的数据
(2)next() 与 nextLine() 方法获取输入的字符串
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
2、字符串的大小写转换
toUpperCase():转为大写
toLowerCase():转为小写
通过加减数值转换:字符串变字符数组,大转小,字符值加32,小转大,字符值减32 。大写字母范围是:65-90,小写字母范围是:97-122。
解题思路:
1、遍历整个字符串
注:最后在字符输入的时候,统一转为同一类字符
代码举例:
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//逐个比对
//输入的字符串,顺便处理成小写
String str=in.nextLine().toLowerCase();
//输入的字符
String strC=in.next().toLowerCase();
//参数
int num=0; //记录目标字符出现的次数
int len=str.length();
for(int i=0;i<len;i++){
if(str.charAt(i)==strC.charAt(0)){
num++;
}
}
System.out.println(num);
}
}