版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
注:“实验记录及个人小结”部分不够可另附页或在背面续写第页信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号实验时间指导教师成绩实验名称 实验五流、文件及基于文本的应用实验目的理解数据流的概念。理解Java流的层次结构。3)理解并掌握文件的读写操作方法。主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)编写一个javaApplication程序,接受用户输入的10个整数,比较并输出其中的最大值和最小值。实验源程序:importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassMaxMinClass{ staticintmaxInt(intdata[],intn)//找到数组data[n]中的最大值 { intp=data[0]; for(inti=0;i<n;i++) if(p<data[i]) p=data[i]; returnp;}staticintminInt(intdata[],intn)//找到数组data[n]中的最小值{ intq=data[0]; for(inti=0;i<n;i++) if(q>data[i]) q=data[i]; returnq;} publicstaticvoidmain(String[]args){ intdata[]=newint[10]; Strings=""; System.out.println("输入数组data[10],输入每个数后按回车:"); for(inti=0;i<10;i++){ try{BufferedReaderin=newBufferedReader (newInputStreamReader(System.in)); s=in.readLine(); data[i]=Integer.parseInt(s); }catch(IOExceptione){} }//利用Integer.parseInt方法将字符串转换为整数intintp=maxInt(data,10);//调用maxInt方法,找到data[10]中最大值 intq=minInt(data,10);//调用minInt方法,找到data[10]中最小值 System.out.println("最大值为:"+p+"\n最小值为:"+q); }}主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)编写一个程序,能将一个源程序中的空行及注释去掉,并将处理后的内容写到目标文件中。(源文件名称和目标文件名称均要求以命令行参数形式输入)importjava.io.BufferedReader;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.io.PrintWriter;publicclassCopyFile{ staticStringdelComm(Strings){ if(s==null)returns; intpos=s.indexOf("//");//去掉以//开始的注释 if(pos<0)returns; returns.substring(0,pos); } publicstaticvoidmain(Stringargs[]){ Stringinfname="CopyFile.java"; Stringoutfname="CopyFile.txt"; if(args.length>=1)infname=args[0]; if(args.length>=2)outfname=args[1]; try{ Filefin=newFile(infname); Filefout=newFile(outfname); BufferedReaderin=newBufferedReader(newFileReader(fin)); PrintWriterout=newPrintWriter(newFileWriter(fout)); intcnt=0;Strings=in.readLine();//写字符串 while(s!=null){主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)cnt++; s=delComm(s);//去掉以//开始的注释 out.println(cnt+":\t"+s);//写出 s=in.readLine();//读入 } in.close();//关闭缓冲读入流及文件读入流的连接 out.close(); }catch(FileNotFoundExceptione1){ System.out.println("Filenotfound"); } catch(IOExceptione2){ e2.printStackTrace(); } }}思考题:从一个文本文件中读入30个学生的姓名和成绩,计算所有学生的最高分、最低分和平均分,并将结果写入另外一个文件。实验源程序:importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.io.PrintWriter;classStudent{ Stringname; intindex; Student(Stringname,intindex){ =name;this.index=index;}}//定义一个学生类,包含姓名、分数两个域变量和一个构造方法publicclassScore{ staticintmaxInt(intdata[]){ intp=data[0]; for(inti=0;i<data.length;i++) if(p<data[i]) p=data[i]; returnp; }//求最高分的方法 static intminInt(intdata[]) {intq=data[0]; for(inti=0;i<data.length;i++) if(q>data[i]) q=data[i]; returnq; }//求最低分 static doublePinjun(intdata[]) {doublenum=0.0; for(inti=0;i<data.length;i++) num+=data[i]; returnnum; }//求平均分staticStringfind(Strings){ intpos=0; if(s==null)returns;pos=s.indexOf(','); if(pos<0) returns; else returns.substring(pos+1,s.length());}//获取每个学生的分数的方法publicstaticvoidmain(String[]args){ intgrade[]=newint[30];try{Filefin=newFile("Student.txt"); Filefout=newFile("Score.txt"); BufferedReaderin=newBufferedReader(newFileReader(fin)); PrintWriterout=newPrintWriter(newFileWriter(fout)); //将处理后的Student.txt文件写到Score.txt文件中 Stringc=in.readLine();//每行的读入Strings; inti=0; while(c!=null) {s=find(c); grade[i++]=Integer.parseInt(s); c=in.readLine(); }System.out.println("最高分为:"+maxInt(grade));//获得最高分 System.out.println("最低分为:"+minInt(grade));//获得最低分 System.out.println("平均分为:"+Pinjun(grade)/i);//获得平均低分intmax; s="最高分为:"; Stringsmax; max=maxInt(grade);smax=Integer.toString(max); out.write(s); out.write(smax); s="最低分为:"; Stringsmin; intmin; min=minInt(grade); smin=Integer.toString(min); out.write(s); out.write(smin); s="平均分为:"; doubleav; Stringsav; av=(Pinjun(grade)/i); sav=java.lang.Double.toString(av); out.write(s); out.write(sav);in.close();//关闭缓冲读入流及文件读入流的连接 out.close();}catch(IOExceptione){System.out.println(e);}}}调试结果:主要问题的出错现象:运行程序后,无对应的输出结果出现源程序编写过程中,出现方法和类的调用无法完成.出错原因:函数调用时候,相关函数输入变量错误2)方法名的书写不符合规范,使得方法变为变量.解决方法及效果:编写和调用类的方法时,注意参数的类型和数量的对应.规范命名.常量用大写字母,变量用小写字母开始,类以大写字母开始.实验小结:为每个类分配正确的职责.尽量保持类功能单一.不要在一个类中做太多事.2)BufferedReader的方法:readLine():String,当他的返回值是null时,就表示读取完毕了。要注意,再写入时要注意写换行符,否则会出现阻塞。BufferedWriter的方法:newLine(),这个方法会写出一个换行符。代码要规范,但不必注释的地方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年心理咨询师二级考试《心理诊断技能》全真试题试卷
- 2026神经内科实习生出科考试试题
- 30001学前儿童保育学练习题
- 安保培训初级试卷(二)
- 产后心理疏导讲课文档
- 道路工程围挡措施方案
- 二期仓库监理实施细则
- 国开电大《经济法律基础》形考任务1答案
- 测试岗级水平测试试题及答案
- 歌曲《春天来了》教学设计小学音乐花城版三年级下册-花城版
- 2026年公务员考试《行测》真题试卷及答案
- 2026秋新版统编版小学道德与法治五年级上册全册教学设计
- 急诊住院医师规范化培训内容与标准
- 2026江苏盐城市大丰区国有投资集团有限公司下属公司招聘劳务派遣人员2人笔试备考题库及答案详解
- 2026年部编版新教材语文四年级上册全册单元、期中、期末测试题及答案(共10套试题)
- 太阳能光伏板清洗施工方案
- 中考临界学生帮扶提升策略
- 2025年基层农产品质检岗笔试真题附答案
- 中科曙光入职测试答案
- 小学经费开支审批制度
- 仰卧起坐(教学反思)人教版体育三年级下册
评论
0/150
提交评论