Java面向对象程序设计试验-试验八输入输出流_第1页
Java面向对象程序设计试验-试验八输入输出流_第2页
Java面向对象程序设计试验-试验八输入输出流_第3页
Java面向对象程序设计试验-试验八输入输出流_第4页
Java面向对象程序设计试验-试验八输入输出流_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、广西科技大学计通学院Java面向对象程序设计实验实验八输入输出流学生:XXX学 号:XXX 班 级:XXX 指导老师:XXX业:计算机科学与技术提交日期:XXX年XX月XX日实验报告容1.实验目的掌握字符输入、输出流用法;掌握使用Scanner类解析文件;掌握Console流的使用。2实验容实验教材第22章实验2、2、3字符输入输出流;Scanner类和Console类。要求:完善程序,给出实验结果截图; 完成试验后练习。3程序代码及运行结果:实验1举重成绩单/AnalysisResult.javaimport java.io *;import java.util *;public class

2、 AnalysisResult public static void main(Sting args) File fRead二new File(Mscore.txt");File fWrite二new File(MscoreAnalysis.txt"); tryWriter out=new FileWriter(fWrite);BufferedWriter bufferWrite=newBufferedWriter(out);Reader in二new FileReader(fRead); BufferedReader bufferRead二new BufferedRead

3、er(in);String st二null;while(str=bufferRead.readLine()!=null)doubletota IScore 二 Fe nxi.getT ota IScore(str);str二st+"总成绩:"+totalScore;System.out.println(str); bufferWrite .write (str); bufferWrite. newLi ne();bufferRead.close();bufferWrite.close(); catch(IOException e) System.out.println(e.

4、toStringO);/ Fenxi.javaimport java.util *;public class Fenxi public static double getTotalScore(String s) String regex 二"0123456789."String digitMess 二 s.replaceAIKregex,"*"); StringTokenizer fenxi = newStringTokenizer(digitMess,"*");double totalScore=0;while(fenxi.hasM

5、oreTokens()doublescore=Dou b le .pa rse Dou ble(fe nxi.n extToken(); tota IScore=tota IScore+score;return totaIScore;/score.txt:三,抓举成绩106kg,挺举189kg。:四,抓举成绩108kg,挺举186kgo:周五,抓举成绩112kg,挺举190kgo运行结果如图1所示姓名:张三7抓举成绩106kg,姓名;李四,抓举成绩108kg,姓名:周五,抓举成绩112kg,挺举189kgo总成绩:295.0挺举186kg.总成绩;294.0挺举190kg。总成绩:302.0图

6、1实验2统计英文单词/ WordStatistic.javaimport java.io *;import java.util *;public class WordStatistic Vector<String> allWord,noSameWord;File file二new File(Menglish.txt");Sea nner sc 二 n ull;String regex;WordStatistic () allWord=new Vector<String>(); no SameWord=new Vector<Stri ng>(); r

7、egex 二” sdpPunct+”; 正则表达式 trysc=new Scanner(file);sc.useDelimiter(regex);catch(IOException exp) System.out.println(exp.toStri ng();void setFileName(String name)file=new File(name);trysc二new Seanner(file); sc.useDelimiter(regex);catch(IOException exp)System.out.printl n(exp.toStri ng();void WordStati

8、stic() trywhile(sc.hasNext()String word=sc.next(); allWord.add(word);if(!no SameWord.contains(word) noSameWord.add(word);catch(Exception e)public Vector<String>getAIIWord()return allWord;public Vector<String>getNoSameWord()return noSameWord;/ OutputWordMess.javaimport java.util *;public

9、class OutputWordMess public static void main(String args) Vector<String> allWord,noSameWord; WordStatistic statistic 二 new WordStatistic(); statistic.setFileNameChello.txt"); statistic.WordStatistic(); allWord=statistic.getAIIWord();no SameWord=statistic.getNoSameWord(); System.out.printl

10、n(M 共有 w+allWord.size()+M 个英 文单词“);System.out.println(M 有"+noSameWod.size()+"个 互不相同英文单词“);System.out.println(n按出现的频率排列:”); in t countQ=new in tnoSa me Word .size(); for(int i=0;i<noSameWord.size();i+)String sl=noSameWord.elementAt(i); for(int j=0;j<allWord.size();j+)String s2=a 11 Wo

11、rd .e le me ntAt( j); if(sl.equals(s2)counti+;for(int m=0;mvnoSameWord.size();m+)for(int n二m+1;*noSameWord.size();n+) if(cou ntn >cou ntm)Stringtemp= no SameWord.e leme n tAt(m);no SameWord.setElementAt(noSameWord.elementAt(n),m);noSa meWord.setEle me ntAt(temp,n);int t=countm;coun tm=countn; cou

12、ntn=t;for(int m=0;mvnoSameWoid.size();m+) doublefreque ncy=(1.0*co un tm)/allWord.size();System.out.printf("%s:%-7.3f",no SameWord.eleme ntAt(m),frequency);运行结果如图2所示共有6祛対词有6个互不相同英文旦词按出观的频率排別;what:0.167 are:0.167 you:0.167 doing:0.167 is 10.167 Java:0.167 图2实验3密码流/ PassWord.javaimport java.

13、io *;public class Password public static void main(StringQ args) boolean success二false;int count二0;Console cons;charQ passwd;cons=Syste m .console ();while(true)System.out.print(M输入密码:");passwd=cons.readPassword();count+;String password二 new String(passwd);if(password.equals("tigerl23,)suc

14、cess二 true;System.out.printing 您第"+count+"次输入的密 码正确!");break;elseSystem.out.printing 您第,+count+"次输入的密 码"+passwod+"不正确! ”);if (count 二二 3)System.out.printing 您"+count+"次输入的密码 都不正确!");System.exit(O);if(success)File file=new File(Mscorel.txt");tryFileRe

15、ader inOne=new FileReader(file);BufferedReader inTow二newBufferedReader(inOne);String s=null; while(s=inTow.readLine()!=null)System.out.pri ntln(s);inOn e.close();inTow.close();catch(IOException ioe)/score.txt:三,抓举成绩106kg,挺举189kg。:四,抓举成绩108kg,挺举186kg。:周五,抓举成绩112kg,挺举190kg。运行结果如图3所示o o O9 9 g k k k9 6

16、 08 8 9 ill 举举举 J J I* g g g k k k ? 6 8 2 倫® 0 11 1 1 正绩绩绩 码咸堪 宀®举举 勺尺恥爪 ixl'4.寸4.V1J.42 IX园 E 人雲各各 3製鯉姓姓4实验后的练习:实验2有如下格式的成绩单(文本格式)score.txto:三,数学72分,物理67分,英语70分。:四,数学92分,物理98分,英语88分。:周五,数学68分,物理80分,英语77分。要求按行读入取成绩单,并在该行的后面尾加上该同学的 总成绩,然后再将该行写入到一个名字为scoreAnalysis.txt的文件中。/ AnalysisRes

17、u lt.javaimport java.io *;import java.util *;public class AnalysisResult public static void main(String args) File fRead二new File("scoe.txt");File fWrite=new File("scoreAnalysis.txtM);tryWriter out=new FileWriter(fWrite,true);Buff ere dW riterbufferWritenewBufferedWriter(out);Reader i

18、n=new FileReader(fRead);BufferedReaderbufferRead=newBufferedReader(in);String st二null; while(str=bufferRead.readLine()!=null) doubletota IScore 二 Fe nxi.ge tT ota IScore(str);str=str+M总分:"+totalScore;System.out.println(str); bufferWrite.write(str); bufferWrite.newLine();bufferRead.close(); buff

19、erWrite .close(); catch(IOException e)System.out.println(e.toStri ng();/ Fenxi.javaimport java.util *;public class Fenxi public static double getTotaIScore(String s) Seanne scanner二new Scanne(s); scanner.useDelimiter(,A0123456789. + "); double totalScore=0;while(sca nn er.hasNext()trydouble sco

20、re=scanner.nextDouble(); tota IScore 二 tota IScore+score; catch(lnputMismatchException exp) String t=scanner.next();return totaIScore;/score.txt:三,数学72分,物理67分,英语70分。:四,数学92分,物理98分,英语88分。:周五,数学68分,物理80分,英语77分。运行结果如图4所示姓名:张三,数学72分,物理67分,英语70分。总分:209.0姓名:李四,数学92分,物理90分,英语02分。总分:278.0姓名:周五,数学60分,物理£

21、;0分,英语77分。总分:225.0图4实验2按字典序输出全部不相同的单词。/ Dictionary.javaimport java.util *;public class Dictionary public static void main(String ags)Vector<String> allWord.noSameWord;WordStatistic statistic=new WordStatistic(); statistic.setFileNameChello.txt"); statistic.WordStatistic();/statistic 调用 Wo

22、rdStatistic() 方法allWord=statistic.getAIIWord();no SameWord=statistic.getNoSameWord();System.out.println(M 共有"+allWod.size()+"个英文 单词”);System.out.println("有"+noSameWord.size()+"个互 不相同英文单词“);System.out.println(H 按字典顺序排列:”);String s二new String noSameWord.size();for(int i=0;i<

23、;noSameWord.size();i+)si=noSameWord.eleme ntAt(i);Arrays.sort(s);for(int i=0;i<noSameWord.size();i+)System.out.println(si+"");运行结果如图5所示共有6不英文单筍有6个互不相同英文单词按学典顺序排列:Javaaredoingiswhatyou图5实验3编写一个程序,程序运行时,要求用户输入的密码是: hellOo如果用户输入了正确的密码。程序将输出“你好, 欢迎你! ”。程序允许用户2次输入的密码不正确,一旦 超过2次,程序将立刻退出。/Password, javaimport java.io *;import java.util.Scanner;public class PassWordpublic static void main(String argsQ)int count=0;Console cons;String passwd;Scan nersc=newSea nne(Systemn );/cons

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论