题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
输入描述:
输入N个字符,字符在ACSII码范围内。
输出描述:
输出范围在(0~127)字符的个数。
输入例子:
abc
输出例子:
3
代码实现:
-
思路:
限定数组的长度为128,则根据当前字符所代表的ASCII值大小,然后对指定的位置的元素,进行++
package cn.c_shuang.demo11;
import java.util.Scanner;
/**
* 编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
* @author Cshuang
*
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()){
int[] arr = new int[128];//定义数组的长度,限制了ascii码的范围,默认里面的每个元素为0
String str = in.nextLine();
for (int i = 0; i < str.length(); i++)
arr[str.charAt(i)]=1;//字符ascii超过128,会存不进去
int cnt = 0;
for (int i = 0; i < arr.length; i++) {
if(arr[i] ==1)//只要数组中不为0,则说明有一种元素
cnt ++;
}
System.out.println(cnt);
}
in.close();
}
}