一、题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。
二、代码实现
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] flags = new int[128];
while (sc.hasNext()) {
Arrays.fill(flags, 0);
String input = sc.nextLine();
//计数每个字符的出现个数
for (int i=0; i<input.length(); i++) {
char ch = input.charAt(i);
if (ch >= 0 && ch <= 127) {
flags[ch]++;
}
}
//出现个数不为0的字符的数量即为所求
int count = 0;
for (int i=0; i<128; i++) {
if (flags[i] != 0) {
count++;
}
}
System.out.println(count);
}
}
}