HJ10 字符个数统计
描述
对于给定的字符串,统计其中的 ASCII 在 0 到 127 范围内的不同字符的个数。
备注:受限于输入,本题实际输入字符集为 ASCII 码在 33 到 126 范围内的可见字符。您可以参阅下表获得其详细信息(您可能关注的内容是,这其中不包含空格、换行)。
输入描述:
在一行上输入一个长度 1≦length(s)≦500 的字符串 s ,代表给定的字符串。
输出描述:
在一行上输出一个整数,代表给定字符串中 ASCII 在 0 到 127 范围内的不同字符的个数。
示例1
输入:[@A8aA].0
输出:8
思路是通过遍历字符串的每个字符,并将其添加到HashSet中,集合会自动处理重复字符。
import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String str = in.nextLine();
Set<Character> result = new HashSet<Character>();
for(char ch : str.toCharArray()){
result.add(ch);
}
System.out.println(result.size());
}
}
}