西电计算机java上机报告,西电JAVA程序上机作业1实验报告.pdf

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
题目:火星漫游者 问题描述: 若干个火星漫游者(机器人)被NASA(美国国家航空和宇宙航行局)送到火星, 对火星的一个高原进行科学探测,这个高原是一个矩形,火星漫游者将漫游整个高原, 并通过照相机对高原拍照,将照片发回地球,以了解这个高原的全貌。 任意一个漫游者的位置将由x,y坐标和一个代表方向的字母确定(N-北,S-南,E-东,W-西), 为了简化漫游,将高原划分为网格。例如(0,0,N)表示火星漫游者位于高原的左下角,方向朝北。 NASA通过发送命令字符串控制火星漫游者, 命令字符串是字符’L’,’R’,’M’的组合, ’L’,’R’表示使漫游者向左或右旋转90°,但坐标不变; ’M’表示使漫游者沿当前方向移动一个网格点,并保持方向不变。 假设高原的正北方向是从点(x,y)到点(x,y+1)的方向 输入: 输入采用文件, 文件第一行是高原的右上角坐标,左下角坐标默认为(0,0) 文件的剩余部分是每一个火星漫游者的信息,每一个火星漫游者有两行信息, 第一行给出漫游者的初始位置,第二行是一系列控制漫游者的命令 位置由两个整数和一个字母组成并用空格分隔,分别对应x,y坐标和方向 每个漫游者按顺序漫游高原,即下一个漫游者必须在上一个漫游者结束漫游后才开始漫游。 输出: 输出每一个漫游者的最终坐标和方向

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值