/*
计数单双字符的个数并存储在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);
}
}
分享到:
相关推荐
文件中的代码可能涵盖了字节流(如FileInputStream和FileOutputStream)、字符流(如BufferedReader和PrintWriter)、以及更高级的抽象,如InputStreamReader和OutputStreamWriter。此外,NIO(New IO)提供了一种非...
- **解释**:Java 中 `double` 类型常量可以是一个十进制数,而不需要使用特定的后缀。选项 C `2.0` 是一个有效的 `double` 类型常量。选项 A 和 D 不符合 `double` 类型常量的定义,而 B 项使用了非法的科学计数法...
/\s+java\s+/ //匹配字符串"java" ,并且该串前后可以有一个或多个空格. /[^"] * / //匹配零个或多个非引号字符. 正则表达式的复制字符 字符 含义 ________________________________________________________...
- **应用场景:** 在Java中广泛用于处理一系列同类型的数据,如整数数组、字符串数组等。 2. **Accessible (可访问的):** - **定义:** 描述对象或方法可以被其他对象或类访问的状态。 - **应用场景:** Java中的...
3. 字符流与字节流:InputStreamReader类是Java中的一个类,用于将字节流转换为字符流。 4. 查询设计器:在数据库管理系统中,如果不想显示选定字段的内容,可以取消该字段的“显示”选项。 5. 微型计算机核心部件...
- **FileReader与FileInputStream**:分别用于读取字符流和字节流。 - **性能考量**:针对大文件和小文件的不同选择。 #### 25. Java向文件写入代码示例 - **FileWriter**:用于向文件写入字符流。 - **...
字符类型 char 1~2000字节 固定长度字符串,长度不够的用空格补充 varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) ...
- 在题目给出的例子中,整型、字符型('a'被视为ASCII值对应的整数)和双精度型相乘,结果为双精度型。 #### 5. 主频与计算机性能 - **知识点**:主频(Clock Speed)是指CPU内部时钟的速度,通常用赫兹(Hz)表示...
"LOOP"通常在编程中代表循环结构,可能在这个例子中用来遍历字符串。描述指出,任务是检查从单元STR开始到STR+99的字符串中是否包含数字,如果找到数字,程序会将CL寄存器设置为1,否则设置为0。这表明这是一个用...
1.3.12 解释性和(字节)编译性 1.4 下载和安装Python 1.5 运行Python 1.5.1 命令行上的交互式解释器 1.5.2 从命令行启动脚本 1.5.3 集成开发环境 1.5.4 其他的集成开发环境和执行...
这个概念常常被误解为1000字节,但实际上采用的是二进制的计数方式。 - **应用场景**:在计算存储空间或评估数据传输速度时,准确理解千字节的含义对于数据管理和性能优化都非常关键。 #### 17. 网络服务器的概念 -...
ASCII 是一种单字节编码,主要用于英文字符;UTF-8 是一种变长编码,支持全球大部分字符;ISO8859-1 支持西欧语言;GB2312 主要用于中文简体字符。 #### 22. Word 文档编辑模式 - **知识点**:Word 中的编辑模式。 ...
GObject与C++或Java中的类不同,它通过引用计数机制来管理对象的生命周期,从而支持高度的复用。 由于C语言本身不包含异常处理机制,GLib引入了信号机制作为替代方案,允许对象间通过信号来交流消息,使得对象之间...
通过一个简单的例子展示了Python与C++相比,在处理文本文件单词计数任务时的简洁性,体现了Python的高效率和易读性。 Python有多个不同的实现,如CPython(默认的解释器,用C语言编写),Jython(Java平台上的...
这是因为Java采用了Unicode编码,每个字符占用16位(即2个字节),无论是中文字符还是英文字符。 #### 22. Word中的页眉和页脚 - **知识点**:页脚位于页面底部,而非顶部。 - **解释**:在Word文档中,页脚位于...
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. 设计回顾 ...