JAVA程序上机作业 1 实验报告
一.实验题目:
文本统计器
1. 创建一个类,实现统计文本文件中各类字符和字符串的个数的功能,要求实
现:
a) 按字符统计,输出各个字符的数量
b) 按单词统计,输出各个单词的数量
2. 在 1(b) 的基础上,实现一个类 KeywordIdentifier ,读入一个 java 程序源
文件,输出各个关键字的个数(注意,注释中出现的关键字不计入关键字个
数)
二 . 实现过程及步骤:
1. 实现统计字符个数功能:
public static HashMap CharCounter(String s)
{
for (int i=0;i
{
Character c=s.charAt(i);// 获得 s 中第 i 个字符 ;charAt(i) 截取第
i 个字符
Integer count map.get(c);// 用字符 c 作为 key 值在 map 中查找
value
map.put(c,count==null?1:count+1);// 如果 value 不为空 , 则表示
出现过,数目会加 1,如果为空,表示没出现,则数目为 1
}
return map;
}
2. 实现统计单词个数功能:
public static void WordCounter(String str)
{
1
String[]slist=str.split("\\b");
for (int i=0;i
{
if(!has.containsKey(slist[i]))
{
has.put(slist[i],1);
}
else
{
has.put(slist[i],has.get(slist[i])+1);
}
}
}
3. 实现统计关键字个数功能:
public static void Keywordidentifier(String s)
{ String[]keyword={"public","static","int","if","else","for",
"class","break","return"};
String[]slist=s.splist("\\b");
for (int i=0;i
{
for(String item:keyword)
{
if(item.equals(slist[i]))
{
if(!key.containsKey(slist[i]))
{
key.put(slist[i], 1);
}
else
2