Java题目 字符个数统计

描述

编写一个函数,计算字符串中含有的不同字符的个数。字符在 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 }

 

方法二:

 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 = 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;
15             }
16         }
17         System.out.println(count);
18     }
19 }

 

上一篇:rxjs: ReplaySubject


下一篇:集合训练1