题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
输入描述:
输入N个字符,字符在ACSII码范围内(0~127)。
输出描述:
输出字符的个数。
输入例子:
abc
输出例子:
3
思路:和之前的去重题思路一样,只不过这里要添加一个判断字符Assic是否符合范围
代码:
1 import java.util.HashSet; 2 import java.util.LinkedHashSet; 3 import java.util.Scanner; 4 5 6 /** 7 * 字符个数统计 8 * @author zbt 9 * 10 */ 11 public class Test5 { 12 13 public static void main(String[] args) { 14 // TODO Auto-generated method stub 15 16 Scanner sc = new Scanner(System.in); 17 String s = sc.nextLine(); 18 HashSet<String> hs = new LinkedHashSet<String>();//这里可定义为Character类型,第23行可简略为hs.add(s.charAt(i)); 19 byte[] b = s.getBytes(); 20 int len = s.length(); 21 for(int i = 0;i<len;i++){ 22 if(b[i]>=0&&b[i]<=127){ 23 hs.add(String.valueOf(s.charAt(i))); 24 } 25 } 26 // for(String hs1 : hs){ 27 // System.out.print(hs1); 28 // } 29 System.out.println(hs.size()); 30 31 } 32 33 }