欢迎来到天天文库
浏览记录
ID:44230081
大小:77.57 KB
页数:4页
时间:2019-10-19
《BX1211王梓南41编译_实验三》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、评语:实验态度:认真()实验结果:正确()实验理论:掌握()操作技能:强()实验报告:好()成绩:•般()差色子信息学院实验报告书课程名:《编译原理》题S:实验三识别字符串中的单词实验类别【设计】班级:BX1211学号:41姓名:王梓南部分正确()错熟悉()一般()差一般()差()指导教师:郭煦批阅时
2、hJ:2015年3月10日1、实验内容或题目任意输入一个字符串,字符串屮的每个单词用空格分隔,要求识别出字符串屮的单词。如输入字符串“Thisisabook.”程序应输出"Thereare4wordsinthisstrin
3、g.Theyare:this,is,a,book.”2、实验目的与要求掌握并实现识别字符串屮单词的方法,并编程实现。为词法分析打基础。3、实验步骤与源程序⑴实验步骤①请同学们根据解题思路先画出程序流程图。②根据流程图编写程序。③测试程序,并截图,写实验报告。⑵流程图输入一段字符串给SInti=0j=0;a[i]=s.charAt(i);word=1;num++;Stringsi=String.;StringregEx=M"']+";Patp=Pattern.compiLe(regEx);Matchers2=p.match
4、er(si);输小单词数和所有单词(3)源代码importjava・io・*;importjava・util.regex.Matcher;importjava.util.regex・Pattern;publicclassExp3{publicstaticvoidmain(String[]args){chara[];intnum=0;Strings=null;intk=0Jn=0;//k:最后输出单•词,判断的标志;n:数组递增变量chartempfl=newchar[100];//临时数组InputStreamReade
5、risr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);System.out・print(”请输入一段字符串:”);try{s=br.readLine();}catch(IOExceptionioe){ioe・printStackTrace();}size=s.length()+1;a=newchar[size];for(inti=0;i6、]!=' '){if(a[j]—{word=0;}elseif(word==0){word=1;num++;}j++;}System・out・println("共有,,+num+H个单词");Stringsi=String・vaLueO/(a);//正则表达式StringregEx="['']+”;//一个或多个空格Patternp=Pattern.co/npite(regEx);Matchers2=p.matcher(sl);System.out.print(H分别是:n+s2.replaceAll(N)+n.n);7、4、测试数据与实验结果(可以抓图粘贴)Problems@Javadoc韋Declaration貝ConsoleS3Exp3[JavaApplication]C:ProgramFilesJava'请输入_段宁符串:sheisagirl―I共有4个单词分另i]是:she,,is,a,girl.5、结果分析与实验体会这是木学期编译原理课程的第三次实验,这次实验的难度与之前的实验相比有一点增加,主要内容是从键盘输入一•段字符串,判断它的单词数,并且输出所有单词。单词的数口可以由有无空格出现判断。输出所8、有单词我运用了正则表达式,首先生成Pattern对象并且编译一个简单的空格正则表达式,用Pattern类的matcher()方法生成一个Matcher对象,最后用java.util.reg.Matcher中的replaceAll方法将空格替换为逗号,最后输岀。通过这次实验,我发现我对数据结构方面的知识掌握的还不是很好,还需要努力学习才行。
6、]!=' '){if(a[j]—{word=0;}elseif(word==0){word=1;num++;}j++;}System・out・println("共有,,+num+H个单词");Stringsi=String・vaLueO/(a);//正则表达式StringregEx="['']+”;//一个或多个空格Patternp=Pattern.co/npite(regEx);Matchers2=p.matcher(sl);System.out.print(H分别是:n+s2.replaceAll(N)+n.n);
7、4、测试数据与实验结果(可以抓图粘贴)Problems@Javadoc韋Declaration貝ConsoleS3Exp3[JavaApplication]C:ProgramFilesJava'请输入_段宁符串:sheisagirl―I共有4个单词分另i]是:she,,is,a,girl.5、结果分析与实验体会这是木学期编译原理课程的第三次实验,这次实验的难度与之前的实验相比有一点增加,主要内容是从键盘输入一•段字符串,判断它的单词数,并且输出所有单词。单词的数口可以由有无空格出现判断。输出所
8、有单词我运用了正则表达式,首先生成Pattern对象并且编译一个简单的空格正则表达式,用Pattern类的matcher()方法生成一个Matcher对象,最后用java.util.reg.Matcher中的replaceAll方法将空格替换为逗号,最后输岀。通过这次实验,我发现我对数据结构方面的知识掌握的还不是很好,还需要努力学习才行。
此文档下载收益归作者所有