• 字符个数统计


    字符个数统计

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

    题目描述

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

    验证通过

     

    念天地之悠悠

    独怆然而涕下

     
     
     
     
  • 相关阅读:
    Oracle数据库编程
    使用JDBC处理MySQL大文本和大数据
    phpcms之带图片的登录信息(带cookie版)(由于cookie和PHPCMS的原因,这个暂时无法使用,看新的)
    phpcms之调用导航栏
    phpcms之修改默认显示文字
    phpcms之创建自己的路径
    dedecms 动态tab写法
    关于dedecms的操作
    12/23
    12/21
  • 原文地址:https://www.cnblogs.com/taojietaoge/p/14729932.html
Copyright © 2020-2023  润新知