`

Java计数单字节双字节字符个数的例子

    博客分类:
  • Java
 
阅读更多
 /* 
    计数单双字符的个数并存储在Map对象中 
    */  
    import java.util.*;  
    import java.io.*;  
    public class CountChars{  
        public static void main(String args[]){  
              
            String ss="javaeye我是cjjwzs阿";  
            CountChars c=new CountChars();  
            c.count(ss);  
        }  
        private void count(String s){  
            Map<String,Integer> counter=new HashMap<String,Integer>();  
            List<String> lSingel=new LinkedList<String>();  
            List<String> lDouble=new LinkedList<String>();  
            int singelC=0,doubleC=0;  
                for(int i=0;i<s.length();i++){  
                    int c=String.valueOf(s.charAt(i)).getBytes().length;  
                    if(counter.containsKey(String.valueOf(s.charAt(i)))==false){  
                        counter.put(String.valueOf(s.charAt(i)),1);  
                    }else{  
                        int tempc=counter.get(String.valueOf(s.charAt(i)));  
                        tempc++;  
                        counter.put(String.valueOf(s.charAt(i)),tempc);  
                    }  
                    switch(c){  
                        case 1:   
                            singelC++;  
                            if(lSingel.contains(String.valueOf(s.charAt(i)))){  
                                break;  
                            }else{  
                                lSingel.add(String.valueOf(s.charAt(i)));  
                            }  
                            break;  
                        case 2:   
                            doubleC++;  
                            if(lDouble.contains(String.valueOf(s.charAt(i)))){  
                                break;  
                            }else{  
                                lDouble.add(String.valueOf(s.charAt(i)));  
                            }  
                            break;  
                    }  
                }  
                Set<String> set=counter.keySet();  
                Iterator it=set.iterator();  
                System.out.println("各个字符的个数为:");  
                while(it.hasNext()){  
                    String sss=String.valueOf(it.next());  
                    System.out.print(sss+"="+counter.get(sss)+",");  
                }  
                System.out.println();  
                System.out.println("单字节字符数目:"+singelC+",双字节字符数目:"+doubleC);  
                System.out.println("单字节字符为"+lSingel);  
                System.out.println("双字节字符为"+lDouble);  
            }  
    }  
 

 

分享到:
评论

相关推荐

    JAVA基础各章节代码

    文件中的代码可能涵盖了字节流(如FileInputStream和FileOutputStream)、字符流(如BufferedReader和PrintWriter)、以及更高级的抽象,如InputStreamReader和OutputStreamWriter。此外,NIO(New IO)提供了一种非...

    《java程序设计》复习资料.doc

    - **解释**:Java 中 `double` 类型常量可以是一个十进制数,而不需要使用特定的后缀。选项 C `2.0` 是一个有效的 `double` 类型常量。选项 A 和 D 不符合 `double` 类型常量的定义,而 B 项使用了非法的科学计数法...

    正则表达式

    /\s+java\s+/ //匹配字符串"java" ,并且该串前后可以有一个或多个空格. /[^"] * / //匹配零个或多个非引号字符. 正则表达式的复制字符 字符 含义 ________________________________________________________...

    Java常用英语 最新整理

    - **应用场景:** 在Java中广泛用于处理一系列同类型的数据,如整数数组、字符串数组等。 2. **Accessible (可访问的):** - **定义:** 描述对象或方法可以被其他对象或类访问的状态。 - **应用场景:** Java中的...

    2021-2022计算机二级等级考试试题及答案No.15563.docx

    3. 字符流与字节流:InputStreamReader类是Java中的一个类,用于将字节流转换为字符流。 4. 查询设计器:在数据库管理系统中,如果不想显示选定字段的内容,可以取消该字段的“显示”选项。 5. 微型计算机核心部件...

    SimpleJava.pdf

    - **FileReader与FileInputStream**:分别用于读取字符流和字节流。 - **性能考量**:针对大文件和小文件的不同选择。 #### 25. Java向文件写入代码示例 - **FileWriter**:用于向文件写入字符流。 - **...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    字符类型 char 1~2000字节 固定长度字符串,长度不够的用空格补充 varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) ...

    2021-2022计算机二级等级考试试题及答案No.19419.docx

    - 在题目给出的例子中,整型、字符型('a'被视为ASCII值对应的整数)和双精度型相乘,结果为双精度型。 #### 5. 主频与计算机性能 - **知识点**:主频(Clock Speed)是指CPU内部时钟的速度,通常用赫兹(Hz)表示...

    LOOP.zip_Windows编程_DOS_

    "LOOP"通常在编程中代表循环结构,可能在这个例子中用来遍历字符串。描述指出,任务是检查从单元STR开始到STR+99的字符串中是否包含数字,如果找到数字,程序会将CL寄存器设置为1,否则设置为0。这表明这是一个用...

    Python核心编程第二版

     1.3.12 解释性和(字节)编译性   1.4 下载和安装Python   1.5 运行Python   1.5.1 命令行上的交互式解释器   1.5.2 从命令行启动脚本   1.5.3 集成开发环境   1.5.4 其他的集成开发环境和执行...

    2021-2022计算机二级等级考试试题及答案No.15183.docx

    这个概念常常被误解为1000字节,但实际上采用的是二进制的计数方式。 - **应用场景**:在计算存储空间或评估数据传输速度时,准确理解千字节的含义对于数据管理和性能优化都非常关键。 #### 17. 网络服务器的概念 -...

    2021-2022计算机二级等级考试试题及答案No.10523.docx

    ASCII 是一种单字节编码,主要用于英文字符;UTF-8 是一种变长编码,支持全球大部分字符;ISO8859-1 支持西欧语言;GB2312 主要用于中文简体字符。 #### 22. Word 文档编辑模式 - **知识点**:Word 中的编辑模式。 ...

    如何使用Glib工具集管理C数据.pdf

    GObject与C++或Java中的类不同,它通过引用计数机制来管理对象的生命周期,从而支持高度的复用。 由于C语言本身不包含异常处理机制,GLib引入了信号机制作为替代方案,允许对象间通过信号来交流消息,使得对象之间...

    Python讲解.ppt

    通过一个简单的例子展示了Python与C++相比,在处理文本文件单词计数任务时的简洁性,体现了Python的高效率和易读性。 Python有多个不同的实现,如CPython(默认的解释器,用C语言编写),Jython(Java平台上的...

    2021-2022计算机二级等级考试试题及答案No.19545.docx

    这是因为Java采用了Unicode编码,每个字符占用16位(即2个字节),无论是中文字符还是英文字符。 #### 22. Word中的页眉和页脚 - **知识点**:页脚位于页面底部,而非顶部。 - **解释**:在Word文档中,页脚位于...

    ZendFramework中文文档

    3.2.2. 高级使用:持久一个 DbTable 结果对象 3.2.3. 高级用法示例 3.3. 摘要式认证 3.3.1. 简介 3.3.2. 规范(Specifics) 3.3.3. 身份(Identity) 3.4. HTTP 认证适配器 3.4.1. 简介 3.4.2. 设计回顾 ...

Global site tag (gtag.js) - Google Analytics