zoukankan      html  css  js  c++  java
  • 字符个数统计

    字符个数统计

          念天地之悠悠,独怆然而涕下。

    题目描述

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

    输入描述

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

    输出描述

    输出范围在(0~127)字符的个数。

    示例

    输入

    abc

    输出

    3

    Java代码示例

     1 import java.util.*;
     2 import java.io.*;
     3 
     4 // 可以看看ASCII对照表:https://baike.baidu.com/item/ASCII/309296?fromtitle=ascii%E7%A0%81&fromid=99077&fr=aladdin
     5 public class Main{
     6     public static void main(String [] args) throws IOException {
     7         //Scanner bufferReader = new Scanner(System.in);
     8         //String line = bufferReader.nextLine();
     9         // 使用BufferedReader & InputStreamReader 会比直接使用Scanner运行速度快些
    10         BufferedReader bufferReader = new BufferedReader(new InputStreamReader(System.in));
    11         String line = bufferReader.readLine();      
    12         int [] lineArray = new int [127];
    13         int count = 0; // 统计重复的字符个数
    14         // 遍历输入字符串的每一个字符,若首次出现将char对应的索引数组赋值,同时count + 1
    15         for(int i = 0; i < line.length(); i++){
    16             char temp = line.charAt(i);
    17             if(lineArray[temp] == 0){  // 数组未赋值默认值为 0
    18                 count++;
    19                 lineArray[temp] = 1;  // 该cahr 数组索引赋值
    20             }
    21             // 假如输入tjt,第一次 lineArray[t] 赋值后,下次char为t的再过来就直接跳过
    22         }
    23         System.out.println(count);
    24     }
    25 }

    验证通过

     

    念天地之悠悠

    独怆然而涕下

     
     
     
     
  • 相关阅读:
    Samba 4.0 RC3 发布
    SymmetricDS 3.1.7 发布,数据同步和复制
    Express.js 3.0 发布,Node.js 的高性能封装
    GIFLIB 5.0.1 发布,C语言的GIF处理库
    jQuery UI 1.9.1 发布
    SVN Access Manager 0.5.5.14 发布 SVN 管理工具
    DynamicReports 3.0.3 发布 Java 报表工具
    HttpComponents HttpClient 4.2.2 GA 发布
    AppCan 2.0 正式发布,推移动应用云服务
    Ruby 2.0 的新功能已经冻结
  • 原文地址:https://www.cnblogs.com/taojietaoge/p/14729932.html
Copyright © 2011-2022 走看看