题目:

题目描述

写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。

输入描述

第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符。

输出描述

输出输入字符串中含有该字符的个数。


思路:

  1. 有两次输入,需要用到Scanner。包括导入,创建,使用。

    import java.util.Scanner
    Scanner sc = new Scanner(System.in);
    String words = sc.nextLine();
  2. 遍历字符串,用比较字符挨个比较,注意是字符形式的比较。相同则ans+1。

  3. 考虑字母大小写问题。


代码(java)

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String words = sc.nextLine();//输入
        words = words.toLowerCase();//全部转为小写形式
        String word = sc.nextLine();
        Character a = word.charAt(0);//使用字符形式保存
        int n = words.length();
        int ans = 0;
        for(int i = 0; i < n-1;i++){//遍历
            if(words.charAt(i) == a){
                ans++;
            }
        }
        System.out.println(ans);
    }
}

笔记:

  1. 注意将第一行输入的字符串转为全部小写,题目要求不分大小写。使用s.toLowerCase()方法将字符串专为小写。
  2. 注意第二次输入的字符串,使用 character a = word.charAt(0)用字符形式保存,方便之后的比较。
  3. String s = sc.nextLine()方法,可以存入空格,而 sc.next()不行。