描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。
数据范围: 1 \le n \le 500 \1≤n≤500
输入描述:
输入一行没有空格的字符串。
输出描述:
输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。
示例1
输入:
abc
复制
输出:
3
示例2
aaa
1
方法一:
复制代码
1 import java.io.;
2 import java.util.;
3
4 public class Main {
5 public static void main(String[] args) throws IOException {
6 BufferedReader br = new BufferedReader(new InputStreamReader((System.in)));
7 String s;
8 while((s = br.readLine()) != null) {
9 String newS = "";
10 for (int i = s.length()-1; i>=0; i--){
11 char ch = s.charAt(i);
12 if( newS.indexOf(ch) < 0){
13 newS = newS + ch;
14 }
15 }
16 System.out.println(newS.length());
17 }
18 }
19 }
//代码效果参考:http://www.zidongmutanji.com/bxxx/211202.html
方法二:
7 String s = br.readLine();
8 int[] a = new int[128];
9 int count = 0;
10 for (int i=0; i<s.length();i++){
11 char ch =s.charAt(i);
12 if(a[ch] == 0){
13 count =count +1;
14 a[ch] = 1;
16 }
17 System.out.println(count);