资源简介
实现一个类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)
相关资源
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
评论
共有 条评论