JAVA实验报告_第1页
JAVA实验报告_第2页
JAVA实验报告_第3页
JAVA实验报告_第4页
JAVA实验报告_第5页
已阅读5页,还剩50页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

学生实验报告(理工类)课程名称JAVA程序设计专业班级XXXXXXXXXXXXXXXXXXXXXXX学生学号XXXXXXXXX学生姓名XXXXXX所属院部XXXXXXXXXXX指导教师XXXXXXXX20142015学年第1学期实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。填写注意事项(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。实验项目名称JAVA编程基础实验学时4同组学生姓名实验地点1318实验日期2014925实验成绩批改教师XXXXX批改时间一、实验目的和要求(1)熟练掌握JDK16及MYECLIPSE85编写调试JAVA应用程序及JAVA小程序的方法;(2)熟练掌握JAVA应用程序的结构;(3)了解JAVA语言的特点,基本语句、运算符及表达式的使用方法;(4)熟练掌握常见数据类型的使用;(5)熟练掌握IFELSE、SWITCH、WHILE、DOWHILE、FOR、CONTINUE、BREAK、RETURN语句的使用方法;理解和掌握重载方法;(6)熟练掌握数组和字符串的使用;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,WINDOWS操作系统,装有JDK16和MYECLIPSE85软件。三、实验过程(1)分别使用JDK命令行和MYECLIPSE编译运行JAVA应用程序;适当添加注释信息,通过JAVADOC生成注释文档;为主方法传递参数“HELLO”字符串,并输出,记录操作过程。PUBLICCLASSHELLOPUBLICSTATICVOIDMAINSTRINGARGSSYSTEMOUTPRINTLN“HELLO“2教材P11页程序调试,改写程序;3编写一个重载方法的程序,调试通过。要求(1)编译调试程序之前应配置好环境变量;(2)要分别掌握用JDK命令行和MYECLIPSE集成开发环境调试JAVA程序;(3)注意JAVA重载程序构造方法和成员方法的区别。程序清单(建议程序中适当添加注释信息,增强可读性;较长程序分栏书写,保证报告排版整洁美观。)(实验一程序清单续1)2教材P11页程序调试,改写程序;PACKAGEPACKIMPORTMYPACKAGEPOINTPUBLICCLASSLINEPUBLICSTATICPOINTSTARTPUBLICSTATICPOINTENDPUBLICLINEPOINTSTART,POINTENDTHISSTARTSTARTTHISENDENDPUBLICSTRINGTOSTRINGRETURNTHISGETCLASSGETNAME“THISSTARTTOSTRING“,“THISENDTOSTRING“PUBLICDOUBLELENGTHINTASTARTXENDX,BSTARTYENDYRETURNMATHSQRTAABBPUBLICSTATICVOIDMAINSTRINGARGSLINELNEWLINESTART,ENDPOINTSTARTNEWPOINT100,100POINTENDNEWPOINT100,200SYSTEMOUTPRINTLNNEWLINESTART,ENDTOSTRINGSYSTEMOUTPRINTLNLLENGTH(实验一程序清单续2)3编写一个重载方法的程序,调试通过。PUBLICCLASSDCCPUBLICVOIDDERSYSTEMOUTPRINTLNZPUBLICINTDERINTCRETURNCPUBLICSTRINGDERINTI,CHARCRETURNC“IPUBLICSTATICVOIDMAINSTRINGARGSDCCYNEWDCCYDERSYSTEMOUTPRINTLNYDER4,ZSYSTEMOUTPRINTLNYDER20四、实验结果与分析1分别使用JDK命令行和MYECLIPSE编译运行JAVA应用程序;适当添加注释信息,通过JAVADOC生成注释文档;为主方法传递参数“HELLO”字符串,并输出,记录操作过程。运行结果HELLO2教材P11页程序调试,改写程序;调试结果PACKLINEPOINT100,100,POINT100,200程序改写后的调试结果PACKLINEPOINT100,100,POINT100,20010003编写一个重载方法的程序,调试通过。运行结果ZZ420实验项目名称面向对象编程实验学时8同组学生姓名实验地点实验日期20141023实验成绩批改教师XXXX批改时间一、实验目的和要求(1)熟练掌握JAVA语言类定义的基本语法;(2)熟练掌握类成员的访问控制,对象建立的方法;(3)熟练掌握类构造方法、成员方法的定义和重载;(4)熟练掌握类继承、多态和抽象性;(5)熟练掌握接口的定义和实现方法;(6)掌握基本的异常处理方法;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,WINDOWS操作系统,装有JDK16和MYECLIPSE85软件。三、实验过程(1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、比较、字符串描述、比较是否相等等操作。(2)设计圆柱体类和圆椎体类,继承圆类CIRCLE并实现VOLUME接口,计算表面积和体积。(3)设计三角形类,继承图形抽象类,计算三角形面积和周长。(4)包的建立与使用设计计算器类CALCULATOR,计算加、减、乘、除和立方体体积,并且打包为MYPACKAGE。观察源文件目录下是否生成了MYPACKAGE文件夹,在该文件夹中是否有CALCULATECLASS文件。编辑PACKAGEDEMOJAVA,保存在CALCULATORJAVA同一目录下,引用计算器类的各方法显示计算结果。(5)试编码实现多态在工资系统中的应用给出一个根据雇员类型利用ABSTRACT方法和多态性完成工资单计算的程序。EMPLOYEE是抽象类,EMPLOYEE的子类有BOSS(每星期发给他固定工资,而不计工作时间)、COMMISSIONWORKER(除基本工资外还根据销售额发放浮动工资)、PIECEWORKER(按其生产的产品数发放工资)、HOURLYWORKER(根据工作时间长短发放工资)。该例的EMPLOYEE的每个子类都声明为FINAL,因为不需要再继承它们生成子类。在主测试类TEST中测试各类雇员工资计算结果。提示对所有雇员类型都使用EARNINGS方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类EMPLOYEE派出生的。在超类中声明EARNINGS为抽象方法,并且对于每个子类都提供恰当的EARNINGS的实现方法。为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用EARNINGS方法。在一个实际的工资系统中,各种EMPLOYEE对象的引用可以通过一个EMPLOYEE引用数组来实现。程序依次使用数组的每个元素(EMPLOYEE引用)调用每个对象的EARNINGS方法。EMPLOYEE类定义如下ABSTRACTCLASSEMPLOYEEPRIVATESTRINGFIRSTNAMEPRIVATESTRINGLASTNAMEPUBLICEMPLOYEESTRINGFIRST,STRINGLASTFIRSTNAMEFIRSTLASTNAMELASTPUBLICSTRINGGETEMPLOYEENAMERETURNFIRSTNAMEPUBLICSTRINGGETLASTNAMERETURNLASTNAMEPUBLICSTRINGTOSTRINGRETURNFIRSTNAMELASTNAMEPUBLICABSTRACTSTRINGEARNINGS(6)异常的捕获计算两数相除并输出结果。使用三个CATCH子句,分别捕捉输入输出异常、除数为0的异常和参数输入有误异常。IMPORTJAVAIOCLASSEX1PUBLICSTATICVOIDMAINSTRINGARGSTRYBUFFEREDREADERSTRINNEWBUFFEREDREADERNEWINPUTSTREAMREADERSYSTEMIN/建立输入流缓冲区SYSTEMOUTPRINT“请输入除数“STRINGCLSTRINREADLINE/键盘输入INTAINTEGERPARSEINTCLSYSTEMOUTPRINT“请输入被除数“CLSTRINREADLINEINTBINTEGERPARSEINTCLINTCB/ASYSTEMOUTPRINTLN“商为“C/捕获与I/O有关的异常(空白处补全捕获语句)/捕获数值转化时的异常,如不能将字符转化成数值/捕获除数为0的异常编译并运行,当产生输入输出异常时显示异常信息;当输入除数为0时,出现算术异常,提示除数为0,并要求重新输入;当输入的不是整数时,如将30输成了3O,出现数值格式异常,提示输入整数。(8)编写程序包含自定义异常MYEXCEPTION,当100被13和4除时抛出该异常,其余除数显示商值。要求(1)注意选用适当的类成员修饰符(PRIVATE、PROTECTED、PUBLIC等),比较它们的使用情况;(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如TWONUM1表示实验二的第一题;(3)学会使用MYECLIPSE的各种调试方法;(4)学会查阅JAVAAPI文档,如查找异常类的使用方法。程序清单(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)(1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、比较、字符串描述、比较是否相等等操作。PUBLICCLASSCOMPLEXPRIVATEDOUBLEREAL,IMAGPUBLICCOMPLEXDOUBLEREAL,DOUBLEIMAGTHISREALREALTHISIMAGIMAGPUBLICCOMPLEXTHIS00,00PUBLICCOMPLEXCOMPLEXCTHISREALCREALTHISIMAGCIMAGVOIDSETDOUBLER,DOUBLEIREALRIMAGIVOIDSETCOMPLEXDSETDREAL,DIMAGPUBLICVOIDADDCOMPLEXCTHISREALCREALTHISIMAGCIMAGPUBLICVOIDMINUSCOMPLEXCTHISREALCREALTHISIMAGCIMAGPUBLICSTATICCOMPLEXADDCOMPLEXC1,COMPLEXC2RETURNNEWCOMPLEXC1REALC2REAL,C1IMAGC2IMAGPUBLICSTATICCOMPLEXMINUSCOMPLEXC1,COMPLEXC2RETURNNEWCOMPLEXC1REALC2REAL,C1IMAGC2IMAGPUBLICBOOLEANEQUALSOBJECTOBJIFTHISOBJRETURNTRUEIFOBJINSTANCEOFCOMPLEXCOMPLEXCCOMPLEXOBJRETURNTHISREALCREALRETURNFALSEPUBLICSTRINGTOSTRINGRETURN“THISREAL“THISIMAG“I“PUBLICSTATICVOIDMAINSTRINGARGSCOMPLEXANEWCOMPLEX20,35COMPLEXBNEWCOMPLEX90,17COMPLEXCBSYSTEMOUTPRINTLNA“B“COMPLEXADDA,BSYSTEMOUTPRINTLNA“B“COMPLEXMINUSA,BSYSTEMOUTPRINTLN“B“B“,C“C“,BC“BC“,BEQUALSC“BEQUALSCCNEWCOMPLEXCSETBSYSTEMOUTPRINTLN“B“B“,C“C“,BC“BC“,BEQUALSC“BEQUALSC(2)设计圆柱体类和圆椎体类,继承圆类CIRCLE并实现VOLUME接口,计算表面积和体积。CLASSCIRCLESTATICDOUBLEPI314159DOUBLERPUBLICCIRCLEDOUBLERTHISRRDOUBLEAREARETURNPIRRCLASSSPHEREEXTENDSCIRCLEPUBLICSPHEREDOUBLERSUPERRPUBLICDOUBLEAREARETURN4PIRRPUBLICDOUBLEVOLUMERETURN3PIMATHPOWR,3/4CLASSCOLUMNEXTENDSCIRCLEPRIVATEDOUBLEHPUBLICCOLUMNDOUBLER,DOUBLEHSUPERRTHISHHPUBLICDOUBLEAREARETURN2PIRH2PIRRPUBLICDOUBLEVOLUMERETURNPIRRHCLASSTAPEREXTENDSCIRCLEPRIVATEDOUBLEHPUBLICTAPERDOUBLER,DOUBLEHSUPERRTHISHHPUBLICDOUBLEAREARETURNPIRMATHSQRTHHRRPIRRPUBLICDOUBLEVOLUMERETURNPIRRH/3PUBLICCLASSTESTPUBLICSTATICVOIDMAINSTRINGARGSCIRCLECIRNEWCIRCLE30SYSTEMOUTPRINTLN“AREAOFCIRCLE“CIRAREASPHERESPHNEWSPHERE60SYSTEMOUTPRINTLN“AREAOFSHERE“SPHAREA“N“VOLUMEOFSPHERE“SPHVOLUMECOLUMNCOLNEWCOLUMN30,50SYSTEMOUTPRINTLN“AREAOFCOLUMN“COLAREA“N“VOLUMEOFCOLUMN“COLVOLUMETAPERTAPNEWTAPER20,40SYSTEMOUTPRINTLN“AREAOFTAPER“TAPAREA“N“VOLUMNOFTAPER“TAPVOLUME(3)设计三角形类,继承图形抽象类,计算三角形面积和周长。PUBLICABSTRACTCLASSCLOSEDFIGUREPROTECTEDSTRINGSHAPEPROTECTEDCLOSEDFIGURESTRINGSHAPETHISSHAPESHAPEPROTECTEDCLOSEDFIGURETHIS“未知“PUBLICABSTRACTDOUBLEAREAPUBLICABSTRACTDOUBLEPERIMETERPUBLICVOIDPRINTSYSTEMOUTPRINTLN“一个“THISSHAPE“,“THISTOSTRING“,周长为“THISPERIMETER“,面积为“THISAREAPUBLICCLASSTRIANGLEEXTENDSCLOSEDFIGUREPROTECTEDDOUBLEA,B,CPUBLICTRIANGLEDOUBLEA,DOUBLEB,DOUBLECSUPER“三角形“THISAATHISBBTHISCCPUBLICTRIANGLETHIS0,0,0PUBLICSTRINGTOSTRINGRETURN“A边长度“THISA“,B边长度“THISB“,C边长度“THISCPUBLICDOUBLEAREADOUBLEDABC/20RETURNMATHSQRTDDADBDCPUBLICDOUBLEPERIMETERRETURNABCPUBLICSTATICVOIDMAINSTRINGARGSTRIANGLETRINEWTRIANGLE5,9,11TRIPRINT(4)包的建立与使用IMPORTJAVAUTILSCANNERPUBLICCLASSCALCULATORPUBLICSTATICVOIDMAINSTRINGARGSSYSTEMOUTPRINTLN“根据提示输入指令“WHILETRUESYSTEMOUTPRINTLN“是否继续Y/N“SCANNERSCNEWSCANNERSYSTEMINSTRINGISCSCNEXTLINETRIMIF“Y“EQUALSISC|“Y“EQUALSISCSYSTEMOUTPRINTLN“输入第一个数“INTASCNEXTINTSYSTEMOUTPRINTLN“输入计算符号/“STRINGVARSCNEXTTRIMSYSTEMOUTPRINTLN“输入第二个数“INTBSCNEXTINTIF“EQUALSVARSYSTEMOUTPRINTLNA“B“ABELSEIF“EQUALSVARSYSTEMOUTPRINTLNA“B“ABELSEIF“EQUALSVARSYSTEMOUTPRINTLNA“B“ABELSEIF“/“EQUALSVARSYSTEMOUTPRINTLNA“/“B“A/DOUBLEBELSESYSTEMOUTPRINTLN“计算符号有误,程序退出“BREAKELSESYSTEMOUTPRINTLN“程序退出“BREAK(5)试编码实现多态在工资系统中的应用给出一个根据雇员类型利用ABSTRACT方法和多态性完成工资单计算的程序。BOSS类PACKAGESS1/每星期发给他固定工资,而不计工作时间FINALCLASSBOSSEXTENDSEMPLOYEEPRIVATEDOUBLEWEEKLYSALARYPUBLICBOSSSTRINGFIRST,STRINGLAST,DOUBLESSUPERFIRST,LASTSETWEEKLYSALARYSPUBLICVOIDSETWEEKLYSALARYDOUBLESWEEKLYSALARYS0S0PUBLICSTRINGEARNINGSSTRINGWEEKLYSALARY1STRINGVALUEOFWEEKLYSALARYRETURNWEEKLYSALARY1PUBLICSTRINGTOSTRINGRETURN“BOSS“SUPERTOSTRINGCOMMISSIONWORKER类PACKAGESS1/除基本工资外还根据销售额发放浮动工资FINALCLASSCOMMISSIONWORKEREXTENDSEMPLOYEEPRIVATEDOUBLESALARYPRIVATEDOUBLEFSALARYPUBLICCOMMISSIONWORKERSTRINGFIRST,STRINGLAST,DOUBLES,DOUBLEFSUPERFIRST,LASTSETSALARYSSETFSALARYFPUBLICVOIDSETFSALARYDOUBLEFFSALARYF0F0PUBLICVOIDSETSALARYDOUBLESSALARYSPUBLICSTRINGEARNINGSSTRINGSALARY1STRINGVALUEOFSALARYFSALARYRETURNSALARY1PUBLICSTRINGTOSTRINGRETURN“COMMISSIONWORKER“SUPERTOSTRINGHOURLYWORKER类PACKAGESS1/根据工作时间长短发放工资FINALCLASSHOURLYWORKEREXTENDSEMPLOYEEPRIVATEDOUBLEWAGEPRIVATEDOUBLEHOURSPUBLICHOURLYWORKERSTRINGFIRST,STRINGLAST,DOUBLEW,DOUBLEHSUPERFIRST,LASTSETWAGEWSETHOURSHPUBLICVOIDSETWAGEDOUBLEWWAGEW0W0PUBLICVOIDSETHOURSDOUBLEHHOURSH0PUBLICVOIDSETQUANTITYINTQQUANTITYQPUBLICSTRINGEARNINGSSTRINGSALARY1STRINGVALUEOFQUANTITYWAGEPIECERETURNSALARY1PUBLICSTRINGTOSTRINGRETURN“PIECEWOEKER“SUPERTOSTRINGTEST类PACKAGESS1CLASSTESTPUBLICSTATICVOIDMAINSTRINGARGS/使用超类声明REFEMPLOYEEREFSTRINGOUT“/分别定义各子类BOSSBNEWBOSS“HOHN“,“SMITH“,80000COMMISSIONWORKERCNEWCOMMISSIONWORKER“SUE“,“HONES“,40000,30PIECEWORKERPNEWPIECEWORKER“BOB“,“LEIS“,25,200HOURLYWORKERHNEWHOURLYWORKER“KAREN“,“PRICE“,1375,40/使用子类分别实例化REFBOUTREFTOSTRING“N“父类调用EARNINGS方法得“REFEARNINGS“N“子类调用EARNINGS方法得“BEARNINGS“N“REFCOUTREFTOSTRING“N“父类调用EARNINGS方法得“REFEARNINGS“N“子类调用EARNINGS方法得“CEARNINGS“N“REFPOUTREFTOSTRING“N“父类调用EARNINGS方法得“REFEARNINGS“N“子类调用EARNINGS方法得“PEARNINGS“N“REFHOUTREFTOSTRING“N“父类调用EARNINGS方法得“REFEARNINGS“N“子类调用EARNINGS方法得“HEARNINGS“N“SYSTEMOUTPRINTOUT(6)异常的捕获PACKAGESSIMPORTJAVAIOCLASSEX1PUBLICSTATICVOIDMAINSTRINGARGSTRYBUFFEREDREADERSTRINNEWBUFFEREDREADERNEWINPUTSTREAMREADERSYSTEMIN/建立输入流缓冲区SYSTEMOUTPRINT“请输入除数“STRINGCLSTRINREADLINE/键盘输入INTAINTEGERPARSEINTCLSYSTEMOUTPRINT“请输入被除数“CLSTRINREADLINEINTBINTEGERPARSEINTCLINTCB/ASYSTEMOUTPRINTLN“商为“C/捕获异常CATCHIOEXCEPTIONE/捕获I/O异常SYSTEMOUTPRINTLN“I/O有关的异常“/捕获数值转化时的异常,如不能将字符转化成数值CATCHNUMBERFORMATEXCEPTIONESYSTEMOUTPRINTLN“数值转化有关的异常“/捕获除数为0的异常CATCHEXCEPTIONESYSTEMOUTPRINTLN“除数为0的异常“(8)编写程序包含自定义异常MYEXCEPTION,当100被13和4除时抛出该异常,其余除数显示商值。IMPORTJAVAIOCLASSMYEXCEPTIONEXTENDSEXCEPTIONMYEXCEPTIONSTRINGMSGSUPERMSGPUBLICCLASSDOUBLEDIVIDEAPUBLICSTATICVOIDMAINSTRINGARGSTHROWSMYEXCEPTIONTRYBUFFEREDREADERINNEWBUFFEREDREADERNEWINPUTSTREAMREADERSYSTEMINSYSTEMOUTPRINT“请输入实数除法运算的被除数“STRINGSTRINREADLINEDOUBLEADOUBLEPARSEDOUBLESTRSYSTEMOUTPRINT“请输入除数“STRINREADLINEDOUBLEBDOUBLEPARSEDOUBLESTRSYSTEMOUTPRINTLN“商结果“DIVISIONA,BCATCHARITHMETICEXCEPTIONE1SYSTEMOUTPRINTLN“商结果INFINITY“E1SYSTEMOUTPRINTLN“商结果NAN“E1CATCHNUMBERFORMATEXCEPTIONE2SYSTEMOUTPRINTLN“异常字符串不能转换成整数“E2CATCHIOEXCEPTIONE3SYSTEMOUTPRINTLN“异常IO异常“E3FINALLYSYSTEMOUTPRINTLN“程序结束。“STATICDOUBLEDIVISIONDOUBLEA,DOUBLEBTHROWSMYEXCEPTIONIFA100ELSERETURNA/B四、实验结果与分析(1)调试结果调试结果2035I9017I11052I2035I9017I7018IB9017I,C9017I,BCTRUE,BEQUALSCTRUEB9017I,C9017I,BCFALSE,BEQUALSCTRUE(3)设计三角形类,继承图形抽象类,计算三角形面积和周长。调试结果面积是1000周长是480高100底200(4)包的建立与使用设计计算器类CALCULATOR,计算加、减、乘、除和立方体体积,并且打包为MYPACKAGE。观察源文件目录下是否生成了MYPACKAGE文件夹,在该文件夹中是否有CALCULATECLASS文件。编辑PACKAGEDEMOJAVA,保存在CALCULATORJAVA同一目录下,引用计算器类的各方法显示计算结果。调试结果根据提示输入指令是否继续Y/NY输入第一个数23输入计算符号/输入第二个数23232346是否继续Y/NN程序退出(5)结果BOSSHOHNSMITH父类调用EARNINGS方法得8000子类调用EARNINGS方法得8000COMMISSIONWORKERSUEHONES父类调用EARNINGS方法得4030子类调用EARNINGS方法得4030PIECEWOEKERBOBLEIS父类调用EARNINGS方法得5000子类调用EARNINGS方法得5000HOURLYWORKERKARENPRICE父类调用EARNINGS方法得5500子类调用EARNINGS方法得5500分析EMPLOYEE的每个子类都声明为FINAL,因为不需要再继承它们生成子类。在主测试类TEST中测试各类雇员工资计算结果。(6)结果1正常值结果请输入除数1请输入被除数2商为22除数为0的结果请输入除数0请输入被除数1除数为0的异常3数值异常的结果请输入除数21数值转化有关的异常分析用三个CATCH语句,分别捕获三种异常情况IOEXCEPTIONE定义IO的异常NUMBERFORMATEXCEPTIONE定义数值转化有关的异常EXCEPTIONE定义除数为0的异常(8)编写程序包含自定义异常MYEXCEPTION,当100被13和4除时抛出该异常,其余除数显示商值。调试结果请输入实数除法运算的被除数100请输入除数4程序结束。EXCEPTIONINTHREAD“MAIN“CCMYEXCEPTION不符规范ATCCDOUBLEDIVIDEADIVISIONDOUBLEDIVIDEAJAVA45ATCCDOUBLEDIVIDEAMAINDOUBLEDIVIDEAJAVA24请输入实数除法运算的被除数100请输入除数13程序结束。EXCEPTIONINTHREAD“MAIN“CCMYEXCEPTION不符规范ATCCDOUBLEDIVIDEADIVISIONDOUBLEDIVIDEAJAVA45ATCCDOUBLEDIVIDEAMAINDOUBLEDIVIDEAJAVA24请输入实数除法运算的被除数100请输入除数2商结果500程序结束。分析在实验中用三个CATCH语句,分别捕获三种异常情况IOEXCEPTIONE定义IO的异常NUMBERFORMATEXCEPTIONE定义数值转化有关的异常EXCEPTIONE定义除数为0的异常实验项目名称图形用户界面实验学时7同组学生姓名实验地点实验日期实验成绩批改教师XXXXX批改时间一、实验目的和要求(1)掌握SWING组件的使用方法;(2)熟练掌握SWING中常用布局管理器的使用方法;(3)掌握用户界面动作与事件的处理程序的编写方法;(4)熟练掌握构造用户界面的方法和常见界面元素的使用;(5)熟练掌握JAVA绘图的主要方法。(6)了解线程的基本概念和多线程程序设计的基本方法;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,WINDOWS操作系统,装有JDK16和MYECLIPSE85软件。三、实验过程1计算器设计2整数进制转换将一个十进制整数分别转换成二进制、八进制和十六进制整数。3模拟裁判评分。设计如图所示图形界面,显示N个裁判的评分,根据制定规则计算出最后得分。要求图形界面采用表格显示裁判评分,随裁判人数变化而变化;指定分数范围,若超出,则异常处理;得分规则有指定接口约定,由多个接口对象给出多种得分规则,如求平均数值,或去掉一个最高分和一个最低分后,再求平均值。4编译运行下例,然后修改程序,当使用鼠标单击后在另一位置重新绘制月亮。【例】在APPLET中画月亮。IMPORTJAVAAWTIMPORTJAVAAPPLETAPPLETPUBLICCLASSMOONAPPLETEXTENDSAPPLETPUBLICVOIDPAINTGRAPHICSG/在APPLET上绘图GSETCOLORCOLORREDGDRAWSTRING“THEMOON“,100,20INTX0,Y0/圆外切矩形左上角坐标XTHISGETWIDTH/4YTHISGETHEIGHT/4INTDIAMETERMATHMINTHISGETWIDTH/2,THISGETHEIGHT/2/圆的直径GSETCOLORCOLORYELLOWGFILLOVALX,Y,DIAMETER,DIAMETER/画圆GSETCOLORTHISGETBACKGROUND/设置为背景色GFILLOVALX20,Y20,DIAMETER,DIAMETER/画圆5根据阿基米德螺线的极坐标方程RA画出相应图形。要求1注意选用适当的布局管理器设计图形用户界面,比较它们的布局情况;2养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如THREENUM1表示实验三的第一题;3学会使用MYECLIPSE的各种调试方法;4学会查阅JAVAAPI文档,如查找事件类的处理里方法。程序清单(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)1计算器设计IMPORTJAVAAWTIMPORTJAVAAWTEVENTIMPORTJAVAXSWINGPUBLICCLASSCALCULATOREXTENDSJFRAMEIMPLEMENTSACTIONLISTENERPRIVATEJTEXTFIELDTEXTPRIVATECHAROPPRIVATEFLOATVALUEPRIVATEBOOLEANFIRSTPUBLICCALCULATORSUPER“CALCULATOR“THISSETSIZE280,210THISSETLOCATION300,240THISDISPLAYTHISSETDEFAULTCLOSEOPERATIONEXIT_ON_CLOSETHISSETVISIBLETRUEOPVALUE00FFIRSTTRUEPRIVATEVOIDDISPLAYTEXTNEWJTEXTFIELD“0“,30TEXTSETHORIZONTALALIGNMENTJTEXTFIELDRIGHTTEXTSETEDITABLEFALSETHISGETCONTENTPANEADDTEXT,“NORTH“JPANELPANELNEWJPANELNEWGRIDLAYOUT5,4,5,5THISGETCONTENTPANEADDPANELSTRINGSTR“SQRT“,“/“,“BACKSPACE“,“C“,“7“,“8“,“9“,“/“,“4“,“5“,“6“,“,“1“,“2“,“3“,“,“0“,“,“,“JBUTTONBUTTONSNEWJBUTTONSTRLENGTHFORINTI0I0CATCHNUMBERFORMATEXCEPTIONNFEJOPTIONPANESHOWMESSAGEDIALOGTHIS,TEXTSIGETTEXT“字符串不能转换符点数,请重新输入。“CATCHEXCEPTIONEXIFEXGETMESSAGE“NUMEXCEPTION“JOPTIONPANESHOWMESSAGEDIALOGTHIS,TABLEI“分数范围超出,请重新输入“TEXT_SCORESETTEXTSTRINGFORMAT“12F“,AVAVERAGETABLEPUBLICSTATICVOIDMAINSTRINGARGNEWSCOREJFRAME2,5,NEWAVERAGEEXCEPTMAXMINCLASSAVERAGEEXCEPTMAXMINIMPLEMENTSAVERAGEPUBLICDOUBLEAVERAGEDOUBLETABLEIFTABLENULLFORINTI1IMAXMAXTABLEIIFTABLEIVALUESJ1TEMPVALUESJVALUESJVALUESJ1VALUESJ1TEMP2IMPORTJAVAIOIMPORTJAVAIOBUFFEREDREADERIMPORTJAVAIOFILEIMPORTJAVAIOFILEREADERIMPORTJAVAIOIOEXCEPTIONIMPORTJAVAUTILARRAYLISTIMPORTJAVAUTILLISTPUBLICCLASSJAVAHOTKEYCHECKERPUBLICSTATICVOIDMAINSTRINGARGSTHROWSIOEXCEPTIONBOOLEANISHOTKEYDOCHECK“CLASS“IFISHOTKEYSYSTEMOUTPRINTLN“YES“ELSESYSTEMOUTPRINTLN“NO“PRIVATESTATICBOOLEANDOCHECKSTRINGINPUTTHROWSIOEXCEPTIONBOOLEANISHOTKEYFALSEFILEFILENEWFILE“D/JAVAHOTKEYTXT“/写入关键字FILEWRITERFOUTNEWFILEWRITERFILEFOUTWRITE“ABSTRACTASSERTCLASS“FOUTCLOSESTRINGCONTENT“FILEREADERFRNEWFILEREADERFILEBUFFEREDREADERBRNEWBUFFEREDREADERFRSTRINGTEMPWHILENULLTEMPBRREADLINECONTENTTEMPSYSTEMOUTPRINTLN“THECONTENTOFTEXTIS“SYSTEMOUTPRINTLNCONTENTSYSTEMOUTPRINTLN“THERESULTIS“ISHOTKEYCONTENTCONTAINSINPUT/检查KEYLIST中是否包含INPUT,返回BOOLEAN类型数值RETURNISHOTKEY3IMPORTJAVAAWTIMPORTJAVAAWTEVENTIMPORTJAVAXSWINGPUBLICCLASSTWOTHREADPUBLICSTATICVOIDMAINSTRINGARGSTHROWSINTERRUPTEDEXCEPTION/DELAYPRINTTHREADTTNEWDELAYPRINTTHREADTHREADTHREAD1NEWTHREADTTTHREADTHREAD2NEWTHREADTT/DELAYPRINTTHREADTHREAD1NEWDELAYPRINTTHREADDELAYPRINTTHREADTHREAD2NEWDELAYPRINTTHREADTHREAD1STARTTHREAD2STARTCLASSDELAYPRINTTHREADEXTENDSTHREADINTSLEEPTIMEPUBLICDELAYPRINTTHREADSLEEPTIME1INTMATHRANDOM5/产生15之间的随机数PUBLICVOIDRUNWHILETRUETRYTHISSLEEPSLEEPTIMESYSTEMOUTPRINTLN“THEIDOFTHREADIS“THISCURRENTTHREADGETIDSYSTEMOUTPRINTLN“THESLEEPTIMEIS“SLEEPTIMECATCHINTERRUPTEDEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKBREAK4IMPORTJAVAAWT/用于导入必要的JAVABEAN文件IMPORTJAVAAPPLETIMPORTJAVAUTILDATEPUBLICCLASSCLOCKEXTENDSMULTITHREADAPPLETTHREADCLOCKTHREADFONTFONTPUBLICVOIDINIT/用于初始化的标准程序FONTNEWFONT“TIMESROMAN“,FONTBOLD,48/定义一字体格式字体TIMESROMAN加粗大小48磅PUBLICVOIDSTART/用于启动的标准程序IFCLOCKTHREADNULL/判断线程是否还未创建CLOCKTHREADNEWTHREADTHIS,“SHOWTIME“/将本程序创建成名为SHOWTIME的新线程CLOCKTHREADSTART/启动线程PUBLICVOIDRUN/用于定义运行内容的标准程序/WHILECLOCKTHREADNULLWHILETRUE/此循环让时钟始终走下去REPAINT/重绘组件,即调用PAINT方法画出下一个新时钟TRYCLOCKTHREADSLEEP1000/休眠1秒,即让时钟一秒走一次CATCHINTERRUPTEDEXCEPTIONE/异常错误处理,防止出现中断错误PUBLICVOIDPAINTGRAPHICSG/用于绘画的标准程序,此处画出当前时间的表盘DATENOWNEWDATEGDRAWSTRINGNOWGETHOURS“NOWGETMINUTES“NOWGETSECONDS,10,100/在时钟的下方用文字显示当前的时间PUBLICVOIDSTOP/用于停止的标准程序CLOCKTHREADSTOP/将时钟线程停止CLASSMULTITHREADAPPLETEXTENDSAPPLETIMPLEMENTSRUNNABLEOVERRIDEPUBLICVOIDRUN/TODOAUTOGENERATEDMETHODSTUB5IMPORTJAVASQLPUBLICCLASSSTU_COUPUBLICVOIDQUERYCONNECTIONCONNULLSTATEMENTSTMTNULLRESULTSETRSNULLTRYCLASSFORNAME“COMMYSQLJDBCDRIVER“/DRIVERMANAGERREGISTERDRIVERNEWCOMMYSQLJDBCDRIVERCATCHCLASSNOTFOUNDEXCEPTIONCESYSTEMOUTPRINTLN“无法找到驱动类“TRYCONDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST3306/XDDUSERROOTSTMTCONCREATESTATEMENT/创建STATEMENT对象,准备调用SQL语句RSSTMTEXECUTEQUERY“SELECTFROMSTUDENT“/执行SQL语句WHILERSNEXT/访问RESULTSET中的记录集SYSTEMOUTPRINTRSGETSTRING1“T“SYSTEMOUTPRINTRSGETSTRING2“T“SYSTEMOUTPRINTRSGETSTRING3“T“SYSTEMOUTPRINTLN“CATCHSQLEXCEPTIONCECEPRINTSTACKTRACEFINALLYTRYIFRSNULLRSCLOSEIFSTMTNULLSTMTCLOSEIFCONNULLCONCLOSECATCHSQLEXCEPTIONSESYSTEMOUTPRINTLN“关闭出错“PUBLICVOIDINSERTCONNECTIONCONNULLSTATEMENTSTMTNULLRESULTSETRSNULLTRYCLASSFORNAME“COMMYSQLJDBCDRIVER“/DRIVERMANAGERREGISTERDRIVERNEWCOMMYSQLJDBCDRIVERCATCHCLASSNOTFOUNDEXCEPTIONCESYSTEMOUTPRINTLN“无法找到驱动类“TRYCONDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST3306/XDDUSERROOTSTMTCONCREATESTATEMENT/创建STATEMENT对象,准备调用SQL语句INTROWSTMTEXECUTEUPDATE“INSERTINTOSTUDENTVALUES99,张成,男“/执行SQL语句SYSTEMOUTPRINTLN“成功删除了“ROW“行数据。“CATCHSQLEXCEPTIONSQLESQLEPRINTSTACKTRACEFINALLYTRYIFRSNULLRSCLOSE

温馨提示

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

评论

0/150

提交评论