题目描述编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
输入描述:输入N个字符,字符在ACSII码范围内。
输出描述:输出范围在(0~127)字符的个数。
输入例子:abc
输出例子:3
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
//编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
Map<Integer, Boolean> map = new HashMap<>();
for(int i = 0; i < str.length(); i++){
char ch = str.charAt(i);//逐个获取字符
if(ch >= 0 && ch <= 127){//首先字符在0~127的范围内
if(!map.containsKey(ch)){//如果字符不再map中则添加到map中
map.put((int)ch, true);
}
}
}
System.out.println(map.size());
}
}