【课堂程序整理】字符统计
2015-06-06 15:11
531 查看
课堂作业:给定一段由任意字符组成的段落。编写程序统计其中每种字符出现的次数。
分析题意得出,每种字符和它出现的次数是一对一的关系。因此使用java中的Map<Key,Value>数据结构最为合适。 Key为字符,Value为出现次数。
使用charAt()方法每次取出一位,并判断该字符是否在Map中,如果没有则将其put进Map中,若果存在则将其Value加1.
下面程序中使用TreeMap
package chap05;
import java.util.Scanner;
import java.util.TreeMap;
public class CharCount {
public static void main(String[] args) {
TreeMap<Character, Integer> tm=new TreeMap<Character, Integer>();
String str=null;
Scanner sc=new Scanner(System.in);
str=sc.next();
sc.close();
for(int i=0;i<str.length();i++){
char c=str.charAt(i); //使用c来临时接受每次截出的字符
if(!tm.containsKey(c)){ //判断c是否在TreeMap中,如果不在
tm.put(c,1); //-如果不在则将其put进TreeMap中,并将其次数置为1
}else{
tm.put(c, tm.get(c)+1); //如果存在,则将其Value+1. tm.get(c)为取出tm TreeMap中Key为c的Value
}
}
System.out.println(tm);
}
}
分析题意得出,每种字符和它出现的次数是一对一的关系。因此使用java中的Map<Key,Value>数据结构最为合适。 Key为字符,Value为出现次数。
使用charAt()方法每次取出一位,并判断该字符是否在Map中,如果没有则将其put进Map中,若果存在则将其Value加1.
下面程序中使用TreeMap
package chap05;
import java.util.Scanner;
import java.util.TreeMap;
public class CharCount {
public static void main(String[] args) {
TreeMap<Character, Integer> tm=new TreeMap<Character, Integer>();
String str=null;
Scanner sc=new Scanner(System.in);
str=sc.next();
sc.close();
for(int i=0;i<str.length();i++){
char c=str.charAt(i); //使用c来临时接受每次截出的字符
if(!tm.containsKey(c)){ //判断c是否在TreeMap中,如果不在
tm.put(c,1); //-如果不在则将其put进TreeMap中,并将其次数置为1
}else{
tm.put(c, tm.get(c)+1); //如果存在,则将其Value+1. tm.get(c)为取出tm TreeMap中Key为c的Value
}
}
System.out.println(tm);
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统