Java题目 字符个数统计

描述

编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。
 
数据范围: 1 \le n \le 500 \1n500 

输入描述:

输入一行没有空格的字符串。

输出描述:

输出 输入字符串 中范围在(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 }
复制代码

 

posted @   海漠  阅读(255)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示