题目描述:
写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
Java实现:
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
str = str.toLowerCase();
int len = str.length();
String target = in.nextLine();
target = target.toLowerCase();
int res = 0;
for (int i = 0; i < len; i++) {
if (str.charAt(i) == target.charAt(0)) {
res++;
}
}
System.out.println(res);
}
}
知识点:
- Java中一个字符char占2个字节,使用Unicode编码
Java简单数据类型 简单类型 大小 范围/精度 float 4 字节 32位IEEE 754单精度 double 8 字节 64位IEEE 754双精度 byte 1字节 -128到127 short 2 字节 -32,768到32,767 int 4 字节 -2,147,483,648到2,147,483,647 long 8 字节 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807 char 2 字节 整个Unicode字符集 boolean 1 位 True或者false
- 要注意该题目的输入是两行,分别读取
- Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。
它使用分隔符模式(默认情况下分隔符模式与空白匹配)将其输入分解为标记,然后使用不同的next方法将得到的标记转换为不同类型的值 - 将字符串的字符转换为大写或者小写toLowerCase()、toUpperCase()
- String对象转换为字符,s.toCharArray(),s.CharAt()
- char转换,String.valueOf(c)
- 两个字符忽略大小写比较c1.equalsIgnoreCase(c2)