欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年《Java面向对象程序设计》实验-实验八.pdf

    • 资源ID:13015762       资源大小:289.90KB        全文页数:13页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年《Java面向对象程序设计》实验-实验八.pdf

    Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) 广西科技大学计通学院Java 面向对象程序设计实验实验八输入输出流学生姓名 :学号:班级:指导老师 :专业:计算机科学与技术提交日期 : 年月日实验报告内容1实验目的掌握字符输入、输出流用法; 掌握使用 Scanner 类解析文件 ; 掌握 Console 流的使用。2实验内容实验教材 - 第 12 章实验 1、2、3 字符输入输出流 ;Scanner 类与 Console 类。要求: 完善程序 , 给出实验结果截图; 完成试验后练习。3程序代码及运行结果: 实验 1 举重成绩单/ AnalysisResult、java import java、io 、*; import java、util、*; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) public class AnalysisResult public static void main(String args) File(score、txt); File(scoreAnalysis、txt); try Writer out=new (fWrite); BufferedWriter bufferWrite=new BufferedWriter(out); Reader in=new (fRead); BufferedReader bufferRead=new BufferedReader(in); String str=null; while(str=bufferRead、readLine()!=null) double totalScore=Fenxi、getTotalScore(str); str=str+总成绩 :+totalScore; System、out 、println(str); bufferWrite、write(str); bufferWrite、newLine(); bufferRead、close(); bufferWrite、close(); catch(IOException e) System、out 、println(e、toString(); / Fenxi 、javaimport java、util、*; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) public class Fenxi public static double getTotalScore(String s) String regex = 0123456789、; String digitMess = s、replaceAll(regex,*); StringTokenizer fenxi = new StringTokenizer(digitMess,*); double totalScore=0; while(fenxi、hasMoreTokens() double score=Double、parseDouble(fenxi、nextToken(); totalScore=totalScore+score; return totalScore; / score 、txt姓名: 张三, 抓举成绩 106kg, 挺举 189kg 。姓名: 李四, 抓举成绩 108kg, 挺举 186kg 。姓名: 周五, 抓举成绩 112kg, 挺举 190kg 。运行结果如图1 所示图 1 实验 2 统计英文单词/ WordStatistic、javaimport java、io 、*; import java、util、*; public class WordStatistic Vector allWord,noSameWord; File(english、txt); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) Scanner sc=null; String regex; WordStatistic () allWord=new Vector(); noSameWord=new Vector(); regex=sdpPunct+;/正则表达式 try sc=new Scanner(file); sc、useDelimiter(regex); catch(IOException exp) System、out 、println(exp、toString(); void set(String name) ); try sc=new Scanner(file); sc、useDelimiter(regex); catch(IOException exp) System、out 、println(exp、toString(); void WordStatistic() try while(sc、hasNext() String word=sc、next(); allWord、add(word); if(!noSameWord、contains(word) noSameWord、add(word); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) catch(Exception e) public VectorgetAllWord() return allWord; public VectorgetNoSameWord() return noSameWord; / OutputWordMess、javaimport java、util、*; public class OutputWordMess public static void main(String args) Vector allWord,noSameWord; WordStatistic statistic=new WordStatistic(); statistic、set(hello、txt); statistic、WordStatistic(); allWord=statistic、getAllWord(); noSameWord=statistic、getNoSameWord(); System、out 、println(共有+allWord 、size()+个英文单词 ); System、out 、println(有+noSameWord 、size()+个互不相同英文单词); System、out 、println(按出现的频率排列 :); int count=new intnoSameWord、size(); for(int i=0;inoSameWord、size();i+) String s1=noSameWord、elementAt(i); for(int j=0;jallWord、size();j+) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) String s2=allWord、elementAt(j); if(s1、equals(s2) counti+; for(int m=0;mnoSameWord、size();m+) for(int n=m+1;ncountm) String temp=noSameWord、elementAt(m); noSameWord、setElementAt(noSameWord 、elementAt(n), m); noSameWord、setElementAt(temp, n); int t=countm; countm=countn; countn=t; for(int m=0;mnoSameWord、size();m+) double frequency=(1、0*countm)/allWord、size(); System、out 、printf(%s:%-7、3f, noSameWord 、elementAt(m),frequency); 运行结果如图2 所示精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) 图 2 实验 3 密码流/ PassWord、javaimport java、io 、*; public class PassWord public static void main(String args) boolean success=false; int count=0; Console cons; char passwd; cons=System、console(); while(true) System、out 、print(输入密码 :); passwd=cons、readPassword(); count+; String password= new String(passwd); if(password、equals(tiger123) success=true; System、out 、println(您第+count+ 次输入的密码正确! ); break; else System、out 、println(您第+count+ 次输入的密码 +password+ 不正确! ); if(count=3) System、out 、println(您+count+ 次输入的密码都不正确! ); System、exit(0); if(success) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) File(score1、txt); try inOne=new (file); BufferedReader inTow=new BufferedReader(inOne); String s=null; while(s=inTow、readLine()!=null) System、out 、println(s); inOne、close(); inTow、close(); catch(IOException ioe) / score 、txt姓名: 张三, 抓举成绩 106kg, 挺举 189kg 。姓名: 李四, 抓举成绩 108kg, 挺举 186kg 。姓名: 周五, 抓举成绩 112kg, 挺举 190kg 。运行结果如图3 所示图 3 4实验后的练习 : 实验 1有如下格式的成绩单( 文本格式 )score 、txt 。姓名: 张三, 数学 72 分, 物理 67 分, 英语 70 分。姓名: 李四, 数学 92 分, 物理 98 分, 英语 88 分。姓名: 周五, 数学 68 分, 物理 80 分, 英语 77 分。要求按行读入取成绩单, 并在该行的后面尾加上该同学的精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) 总成绩 , 然后再将该行写入到一个名字为scoreAnalysis、txt的文件中。/ AnalysisResult、javaimport java、io 、*; import java、util、*; public class AnalysisResult public static void main(String args) File(score、txt); File(scoreAnalysis、txt); try Writer out=new (fWrite,true); BufferedWriter bufferWrite=new BufferedWriter(out); Reader in=new (fRead); BufferedReader bufferRead=new BufferedReader(in); String str=null; while(str=bufferRead、readLine()!=null) double totalScore=Fenxi、getTotalScore(str); str=str+总分:+totalScore; System、out 、println(str); bufferWrite、write(str); bufferWrite、newLine(); bufferRead、close(); bufferWrite、close(); catch(IOException e) System、out 、println(e、toString(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) / Fenxi 、javaimport java、util、*; public class Fenxi public static double getTotalScore(String s) Scanner scanner=new Scanner(s); scanner、useDelimiter(0123456789、+); double totalScore=0; while(scanner、hasNext() try double score=scanner 、 nextDouble(); totalScore=totalScore+score; catch(InputMismatchException exp) String t=scanner、next(); return totalScore; / score 、txt 姓名: 张三, 数学 72 分, 物理 67 分, 英语 70 分。姓名: 李四, 数学 92 分, 物理 98 分, 英语 88 分。姓名: 周五, 数学 68 分, 物理 80 分, 英语 77 分。运行结果如图4 所示图 4 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) 实验 2 按字典序输出全部不相同的单词。/ Dictionary、javaimport java、util、*; public class Dictionary public static void main(String args) Vector allWord,noSameWord; WordStatistic statistic=new WordStatistic(); statistic、set(hello、txt); statistic、WordStatistic();/statistic调用WordStatistic()方法allWord=statistic、getAllWord(); noSameWord=statistic、getNoSameWord(); System、out 、println(共有+allWord 、size()+个英文单词 ); System、out 、 println(有+noSameWord 、 size()+个互不相同英文单词); System、out 、println(按字典顺序排列 :); String s=new String noSameWord、size(); for(int i=0;inoSameWord、size();i+) si=noSameWord 、elementAt(i); Arrays 、sort(s); for(int i=0;inoSameWord、size();i+) System、out 、println(si+ ); 运行结果如图5 所示精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) 图 5 实验 3 编 写 一 个程 序 , 程 序 运 行 时, 要求 用 户 输 入的 密码 就是:hello。如果用户输入了正确的密码。程序将输出“您好, 欢迎您! ” 。程序允许用户2 次输入的密码不正确, 一旦超过 2 次, 程序将立刻退出。/ PassWord、javaimport java、io 、*; import java、util、Scanner; public class PassWord public static void main(String args) int count=0; Console cons; String passwd; Scanner sc=new Scanner(System、in);/cons=System、console(); while(true) System、out 、print(输入密码 :); passwd=sc、next();/ count+; String password=new String (passwd); if(password、equals(hello) System、out 、println(您好, 欢迎您! ); break; else System、out 、println(您第 +count+ 次输入的密 +password+ 不正确 ); if(count=3) System、out 、println(您+count+ 次输精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 13 页 - - - - - - - - - - Java 面向对象程序设计实验- 实验八 ( 输入输出流 ) 入的密码都不正确 ); System、exit(0); 运行结果如图6 所示图 6 5实验心得与体会这次实验中 , 我感觉比较难理解与掌握的就就是Console类了, 在实验 3 密码流的代码在eclipse中运行出错如下图所示: 就就是输入不了密码, 后来通过找寻解决方法, 才知道了在JDK 6 中 java 、io 、Console 类专用来访问基于字符的控制台设备, 然后使用 cmd命令提示符来运行就可以输入密码与显示结果了。通过这次实验 , 大概了解了字符输入、输出流用法, 如何去使用 Scanner 类解析文件 , 对 Console 类的使用有个大概的认知。总而言之 , 这次实验收获蛮大的, 敲代码的效率比以往提高了 , 出错率也少了。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 13 页 - - - - - - - - - -

    注意事项

    本文(2022年《Java面向对象程序设计》实验-实验八.pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开