资源简介
实现一个类KeywordIdentifier,读入一个java程序源文件,输出各个关键字的个数(注意,注释中出现的关键字不计入关键字个数)
代码片段和文件信息
import java.io.*;
class KeywordIdentifier {
public static void main(String[] args) throws Exception {
char[] kc = new char[800]; //保存关键字集的字符
String[] kw = new String[55]; //保存关键字
int kcountkj=0; //kj是关键字数量-1
char[] s = new char[10000];
String[]s1 = new String[1000];
int countj=1;
BufferedReader br = new BufferedReader(new FileReader(“第二题测试java源程序.java“)); //打开java源文件
count = br.read(s);
String[] f1 = new String[5]; //辅助识别
char[] sk = new char[2];
int imnk1=0k2=0;
int num[] = new int[55]; //统计对应字符出现的次数
//读入关键字集
BufferedReader kbr = new BufferedReader(new FileReader(“关键字集.txt“)); //读关键字文本文件流
kcount = kbr.read(kc); //kcount表示从文件里面读出字符个数。
for (i = 0; i < 55; i++) //初始化一开始String kw[i]有null就是犯了未初始化的错
kw[i]=““;
for (i = 0; i < kcount; i++){ //把单个英文字符转成单词
if(kc[i]>=‘a‘ && kc[i]<=‘z‘)
kw[kj]+=kc[i];
else if(kc[i+1]>=‘a‘ && kc[i+1]<=‘z‘){
kj++;
if(kw[kj-1]==kw[kj]) kj--;} //确保第一个单词前面的空格不影响使s1[0]==“ “
}
char c1=‘\0‘;
/* System.out.print(“Java语言中所有关键字:“+“\n“);
for(i=0;i<=kj;i++) //输出测试用的文本信息
System.out.print(kw[i]+“\t“);
System.out.print(“\n“);*/
//我们有所有的关键字,现在要找出源程序中除去注释之后的关键字
for (i = 0; i < 55; i++) //初始化
num[i] = 0;
for (i = 0; i < 1000; i++) //初始化化
s1[i]=““;
f1[0]=“//“; f1[1]=“/*“; f1[2]=“*/“; f1[3]=“/**“; //辅助判断
f1[4]=““;
sk[0]=‘\n‘;
f1[4]+=sk[0];
if((s[0]>=‘a‘ && s[0]<=‘z‘) || (s[0]==‘/‘) || (s[0]==‘*‘))
s1[1]+=s[0];
for (i = 1; i <= count; i++){ //关键字肯定是小写,所以只读小写单词和注释,换行符
if((s[i]>=‘a‘ && s[i]<=‘z‘) || (s[i]==‘/‘) || (s[i]==‘*‘)){
if((s[i]==‘/‘) || (s[i]==‘*‘)){
if(s[i-1]>=‘a‘ && s[i-1]<=‘z‘)
j++;
s1[j]+=s[i];
if(s1[j].equals(f1[0])){
for(n=i+1;k1==0 && n <= count;n++){
- 上一篇:毕业论文(jspmysql)
- 下一篇:用eclipse写的贪吃蛇(java)
相关资源
- 用eclipse写的贪吃蛇(java)
- Javaweb版的图书管理系统
- java-client-1.2.1.jar
- Quartz动态修改时间,java实现修改Cro
- 文件加密解密算法(Java源码)
- java连接数据库工具类--DBConnection(j
- 学生信息管理系统(java+mysql)
- 中控考勤机java源码demo
- java编程思想第4版百度网盘
- SUN JAVA SL 275 实验题 答案
- java基于socket聊天室源代码.rar
- java socket超精美仿qq通信软件(mysql)
- linux上使用ffmpeg 实现视频截图
- Java3D魔方代码
- 用Java实现的DES加密算法
- Java课程设计 坦克大战 (源代码和实
- mysql5.0 jdbc 驱动
- java 上传图片生成缩略图
- java中table数据导出到excel中
- java银行管理系统(模拟ATM取款机)
- 服务端和客户端,java,C++实现代码
- javaweb实验指导第二章全部代码
- 基于JAVA的银行自动取款机ATM系统
- android4.4 DhcpInfoInternal.java
- Java从入门到精通光盘资料
- jl1.0.1.jar 音乐播放的包
- java 易宝支付源码 已测试成功,有测
- 单表代换加密算法的java实现
- 一个Java实现的基于内容的图像检索工
- JAVA学生成绩管理系统230086
评论
共有 条评论