java语言与程序设计实验报告_第1页
java语言与程序设计实验报告_第2页
java语言与程序设计实验报告_第3页
java语言与程序设计实验报告_第4页
java语言与程序设计实验报告_第5页
已阅读5页,还剩12页未读, 继续免费阅读

下载本文档

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

文档简介

学生学号试验课成绩武汉理工大学学生实验报告书试验课程名称java语言与程序设计开课学院指导老师姓名学生姓名学生专业班级—年第一学期试验课程名称:java语言程序设计试验项目名称Java文献输入输出流试验成绩试验者专业班级组别同组者试验日期年月日第一部分:试验分析与设计(可加页)试验内容描述(问题域描述)把下列数据写到一种名为c:\myfile.data的文献中。姓名年龄电子邮件Zhangsan20LiSi18WangErMazi21LiuBang240(一)运用java.io.FileOutputStream和java.io.DataOutputStream直接把表中的数据写到文献中(二)措施2:编写一种表达每行数据的JavaBean,例如Person,然后再使用对象数组(三)措施3:同措施2,不过使用数据构造java.util.Vector运用文献输入流和数据输入流读入上述文献。运用文献字符流和缓冲字符流读入下列文献(文献名C:\sales.txt):2300589078307850并记录以上数值之和。试验设计(包括试验方案设计,试验手段确实定,试验环节,试验过程等)源程序:packagepkg;importjava.io.*;publicclassMyClass{ publicvoidmethod01()throwsIOException{ FileOutputStreamfos=newFileOutputStream("c:\\myfile.data"); DataOutputStreamdos=newDataOutputStream(fos); dos.writeUTF("Zhangsan"); dos.writeInt(20); dos.writeUTF(""); dos.writeUTF("LiSi"); dos.writeInt(18); dos.writeUTF(""); dos.writeUTF("WangErMazi"); dos.writeInt(21); dos.writeUTF(""); dos.writeUTF("LiuBang"); dos.writeInt(18); dos.writeUTF(""); fos.close(); dos.close();}publicvoidmethod02()throwsIOException{ FileInputStreamfis=newFileInputStream("c:\\myfile.data"); DataInputStreamdis=newDataInputStream(fis); Stringname,email; intage,count; while((count=dis.available())!=0) { name=dis.readUTF(); age=dis.readInt(); email=dis.readUTF(); System.out.printf("%-20s\t%-6d\t%-30s\n",name,age,email);//\t是水平制表符,相称于TAB空格 } fis.close(); dis.close();}publicvoidmethod03()throwsIOException{ FileReaderfr=newFileReader("c:\\sales.txt"); BufferedReaderbr=newBufferedReader(fr); Stringdata; intsum=0; while((data=br.readLine())!=null) {sum+=Integer.parseInt(data); } System.out.println("sum="+sum); fr.close(); br.close();} publicstaticvoidmain(String[]args)throwsIOException{ //TODOAuto-generatedmethodstubMyClassmc=newMyClass();mc.method01();//mc.method02();//mc.method03();//依次调用method01()、method02()、method03() }}三、重要试验工具、仪器设备及耗材个人计算机,Eclipse第二部分:试验成果分析(可加页)试验成果描述先执行措施一:再执行措施二:最终执行措施三:二.试验小结、提议及体会通过这次试验,我对java语言有了初步认识,对怎样使用java编程有了初步理解,并且尝试编出一种简朴的小程序,实现了先生成文献再将数据写入文献的目的,这对我有很大的协助,为我后来的java学习打下了基础,后来我会多加练习,争取更大的进步。试验课程名称:java语言程序设计试验项目名称Java类继承及接口试验成绩试验者专业班级组别同组者试验日期年月日第一部分:试验分析与设计(可加页)试验内容描述(问题域描述)1、接口之一定义四则运算的加减法,接口之二定义四则运算的乘除运算。类一有一种打印一种字符串和一种整数的组员措施,规定打印的数据通过形式参数导入。类二继承类一并实现接口一和接口二,且具有用于计算20和30四则运算并打印计算成果的主函数。2、运用原则输入流输入一元二次方程的三个系数,并解该方程。试验设计(包括试验方案设计,试验手段确实定,试验环节,试验过程等)第一题源代码:接口一:packagejavacourse;publicinterfaceInterface01{publicintadd(inta,intb);publicintsub(inta,intb);}接口二:packagejavacourse;publicinterfaceInterace02{publicintprod(inta,intb);publicintdiv(inta,intb);}父类:packagejavacourse;publicclassFatherClass{publicstaticvoidprint(Stringstr,inta){System.out.println(str+":"+a);}}子类:packagejavacourse;publicclassAChildClassextendsFatherClassimplementsInterface01,Interace02{publicAChildClass(){//TODOAuto-generatedconstructorstub}@Overridepublicintprod(inta,intb){//TODOAuto-generatedmethodstubreturn(a*b);}2@Overridepublicintdiv(inta,intb){//TODOAuto-generatedmethodstubtry{return(a/b);}catch(Exceptionex){System.out.println("a/bwithb=0");return-999;}}@Overridepublicintadd(inta,intb){//TODOAuto-generatedmethodstubreturn(a+b);}@Overridepublicintsub(inta,intb){//TODOAuto-generatedmethodstubreturn(a-b);}/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubAChildClasscc=newAChildClass();print("30+20",cc.add(20,30));print("30-20",cc.sub(30,20));print("30*20",d(30,20));print("30/20",cc.div(30,20));}}第二题参照代码:packagejavacourse;importjava.io.*;publicclassROOT{privatedoublea,b,c,x1,x2;privatebooleanhaRealRoots;3publicROOT(){super();//TODOAuto-generatedconstructorstub}publicROOT(doublea,doubleb,doublec){super();this.a=a;this.b=b;this.c=c;}publicdoublegetX1(){returnx1;}publicdoublegetX2(){returnx2;}publicbooleanisHaRealRoots(){returnhaRealRoots;}publicvoidpstr(Stringstr){System.out.println(str);}publicstaticvoidprint(Stringstr,doublea){System.out.println(str+a);}publicvoidcalRoots()throwsIOException,NumberFormatException{byte[]arrA,arrB,arrC;StringstrA,strB,strC;doubledelta;arrA=newbyte[80];arrB=newbyte[80];arrC=newbyte[80];pstr("Inputcoefficienta:");System.in.read(arrA);4pstr("Inputcoefficientb:");System.in.read(arrB);pstr("Inputcoefficientc:");System.in.read(arrC);strA=newString(arrA);strB=newString(arrB);strC=newString(arrC);a=Double.parseDouble(strA);b=Double.parseDouble(strB);c=Double.parseDouble(strC);delta=b*b-4*a*c;if(delta<0)this.haRealRoots=false;else{this.haRealRoots=true;x1=(-b+Math.sqrt(delta))/(2*a);x2=(-b-Math.sqrt(delta))/(2*a);}}/***@paramargs*/publicstaticvoidmain(String[]args)throwsException{//TODOAuto-generatedmethodstubROOTrt=newROOT();rt.calRoots();if(rt.isHaRealRoots()){print("x1=",rt.getX1());print("x2=",rt.getX2());}else{rt.pstr("Don'texistrealroots");}}}三、重要试验工具、仪器设备及耗材个人计算机,Eclipse第二部分:试验成果分析(可加页)试验成果描述输入方程无解:输入方程有解:试验小结、提议及体会通过这次试验我对java的类继承及接口有了初步的认识,同步也深入理解了java的多种类型和变量定义以及体现式的运算,并且亲自动手编了两个程序来巩固自己所学。java语言跟c语言极有相似之处又有不一样之处,这次试验让我对java语言的学习打下了很好的基础。试验课程名称:java语言程序设计试验项目名称掌握可视化编程,数据构造,和文献输入、输出流试验成绩试验者专业班级组别同组者试验日期年月日第一部分:试验分析与设计(可加页)一.试验内容描述(问题域描述)试验内容:编写一种表达学生信息(姓名,电话号码,电子邮箱,性别)的JavaBean。规定这个“构造体”实现java.io.Serializable,以便可以把若干这样的对象写到文献中。使用java.util.Hashtable,即哈希表,来处理这样的JavaBean。使用文献输入、输出流和对象输入、输出流来读、写这样一种哈希表对象。图形顾客界面要用到采单,列表,对话框等。Java.awt.Menu,Dialog,List,等。事件接口可以是java.awt.event.ActionListener或java.awt.event.MouseListener。对话框用于输入一种学生的四项信息,而四个列表用于显示所有学生的四项信息。软件具有四个功能:输入一种学生的信息,显示所有学生的信息,从文献中加载数据,以及把目前所有的数据保留到文献中。而这四项功能由一种采单来选择。二.试验设计(包括试验方案设计,试验手段确实定,试验环节,试验过程等)试验环节:(1)把myfile.data数据文献拷到C盘(由于里面有某些初始数据)。(2)在C盘下创立文献夹:C:\wk\javacourse。(3)把源代码文献StudentManagmentSystem.java拷到该文献夹之下,并编译、解释执行。(4)按照你的想法,修改程序,体会有关原则类的使用措施。源程序:packagejavacourse;importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjava.io.*;publicclassStudentInfoManagmentextendsWindowAdapterimplementsActionListener{FramemainWindow;MenuBarmb;Menumenu;MenuItem[]actions;Dialogd1,d2;Fontfont;java.awt.List[]lists;Label[]titles;/***Controlsforinputingstudent'sinfo***/Label[]d1Labs;TextField[]d1TFs;Button[]d1Btns;Checkbox[]d1CBs;CheckboxGroupd1Grp;Buttond1Quit;/***Someconstantstrings***/finalString[]messages={"Inputstudent'info","Displayallstudents'infos","Savedataintothefile","Loadinfofromthefile",};/***Hashtabletohandlestudents'infos***/Hashtable<String,STUDENT>students=newHashtable<String,STUDENT>();finalString[]d1Str={"NAME","PHONE","EMAIL"};finalintNumberFunctionalities=4;publicStudentInfoManagment(){//TODOAuto-generatedconstructorstub}publicvoidguiSetup(){mainWindow=newFrame("AStudentInformationSystem");mainWindow.setSize(600,400);mainWindow.setLocation(100,100);font=newFont("TimesNewRoman",Font.ITALIC,18);mainWindow.setFont(font);mb=newMenuBar();menu=newMenu("Functionalities");actions=newMenuItem[NumberFunctionalities];for(inti=0;i<NumberFunctionalities;i++){actions[i]=newMenuItem(messages[i]);menu.add(actions[i]);actions[i].addActionListener(this);}mb.add(menu);mainWindow.setLayout(newGridLayout(1,4));titles=newLabel[4];lists=newjava.awt.List[4];for(inti=0;i<4;i++){3titles[i]=newLabel();lists[i]=newjava.awt.List();}titles[0].setText("NAME");titles[1].setText("PHONE");titles[2].setText("EMAIL");titles[3].setText("SEX");for(inti=0;i<4;i++)mainWindow.add(lists[i]);mainWindow.setMenuBar(mb);mainWindow.addWindowListener(this);/***Dialog01setup***/d1=newDialog(mainWindow,messages[0],false);d1.setBounds(100,100,400,200);d1Labs=newLabel[3];d1TFs=newTextField[3];for(inti=0;i<3;i++){d1Labs[i]=newLabel(d1Str[i]);d1TFs[i]=newTextField(20);}d1CBs=newCheckbox[2];d1Grp=newCheckboxGroup();d1CBs[0]=newCheckbox("Male",d1Grp,true);d1CBs[1]=newCheckbox("Female",d1Grp,false);d1Btns=newButton[2];d1Btns[0]=newButton("SUBMIT");d1Btns[1]=newButton("RESET");d1Quit=newButton("QUIT");d1Btns[0].addActionListener(this);d1Btns[1].addActionListener(this);d1Quit.addActionListener(this);d1.setLayout(newGridLayout(6,2));for(inti=0;i<3;i++){d1.add(d1Labs[i]);d1.add(d1TFs[i]);}d1.add(d1CBs[0]);d1.add(d1CBs[1]);d1.add(d1Btns[0]);d1.add(d1Btns[1]);d1.add(d1Quit);4mainWindow.setVisible(true);}publicvoidactionPerformed(ActionEvente){Objecto=e.getSource();if(o==actions[0]){d1.setVisible(true);}elseif(o==d1Btns[0]){Stringname,phone,email;booleanisFemale;name=d1TFs[0].getText();phone=d1TFs[1].getText();email=d1TFs[2].getText();isFemale=d1CBs[1].getState();STUDENTaStudent=newSTUDENT(name,phone,email,isFemale);students.put(name,aStudent);}elseif(o==d1Btns[1]){for(inti=0;i<3;i++)d1TFs[i].setText("");}elseif(o==d1Quit){d1.dispose();}elseif(o==actions[1]){for(inti=0;i<4;i++)lists[i].removeAll();Enumeration<STUDENT>enu=students.elements();StringBufferbuf=newStringBuffer();StringsexStr;while(enu.hasMoreElements()){STUDENTstu=enu.nextElement();5if(stu.isFemale)sexStr="Female";elsesexStr="Male";lists[0].add(stu.getName());lists[1].add(stu.getPhone());lists[2].add(stu.getEmail());lists[3].add(sexStr);}}elseif(o==actions[2]){try{Filefile=newFile("C:\\myfile.data");FileOutputStreamfos=newFileOutputStream(file);ObjectOutputStreamoos=newObjectOutputStream(fos);oos.writeObject(students);fos.close();oos.close();}catch(Exceptionex){ex.printStackTrace();}}elseif(o==actions[3]){try{Filefile=newFile("C:\\myfile.data");FileInputStreamfis=newFileInputStream(file);ObjectInputStreamois=newObjectInputStream(fis);Hashtabletemp=(Hashtable)ois.readObject();Enumeration<STUDENT>enu=temp.elements();while(enu.hasMoreElements()){STUDENTstu=enu.nextElement();students.put(stu.getName(),stu);}fis.close();ois.close();}catch(Exceptionex){ex.printStackTrace();}6}}publicvoidwindowClosing(WindowEvente){System.exit(0);}/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubnewStudentInfoManagment().guiSetup();}}classSTUDENTimplement

温馨提示

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

评论

0/150

提交评论