java实验报告10

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告(2014/2015学年第2学期)课程名称JAVA程序设计实验名称异常程序处理、自定义异常类实验时间2015年5月21日指导单位计算机学院/软件学院软件工程系指导教师周莉学生姓名班级学号学院(系)计算机软件学院专业计算机科学与技术1实验名称接口与接口回调指导教师周莉实验类型上机实验学时2实验时间2015-5-21一、实验目的1.熟悉异常的概念、异常抛出、异常的处理2.了解Java系统的异常的类型和异常的产生3.掌握自定义异常类的处理二、实验环境(实验设备)1.每位学生配备计算机一台2.计算机需安装好JDK和Jcreator三、实验内容1.从键盘输入两个数,进行相除,显示商。当输入串中含有非数字时或除数为0时,通过异常处理机制,使程序能正确运行。(1)源程序:importjavax.swing.JOptionPane;publicclasssy10_1{publicstaticvoidmain(Stringargs[]){Stringinput1=JOptionPane.showInputDialog(pleaseinputfirstnumber:);Stringinput2=JOptionPane.showInputDialog(pleaseinputsecondnumber:);try{intn1=Integer.parseInt(input1);intn2=Integer.parseInt(input2);intdiv=n1/n2;JOptionPane.showMessageDialog(null,结果是+div,结果,JOptionPane.PLAIN_MESSAGE);}catch(NumberFormatExceptione){JOptionPane.showMessageDialog(null,Pleaseinputnumericdigits!,提示,JOptionPane.PLAIN_MESSAGE);}catch(ArithmeticExceptione){JOptionPane.showMessageDialog(null,Divisionbyzero!,提示,JOptionPane.PLAIN_MESSAGE);}System.exit(0);}}(2)实验结果:22.计算n!并捕获可能出现的异常。(1)源程序:publicclasssy10_2{publicstaticdoublemulti(intn){if(n0)thrownewIllegalArgumentException(输入了负数异常);doubles=1;for(inti=1;i=n;i++)s=s*i;returns;}publicstaticvoidmain(Stringargs[]){try{intn=Integer.parseInt(args[0]);System.out.println(n+!=+multi(n));}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(应该输入一个参数);}catch(NumberFormatExceptione2){System.out.println(参数应该为整数);}catch(IllegalArgumentExceptione3){System.out.println(出现的异常为:+e3.toString());}finally{System.out.println(计算阶乘结束);}}}(2)实验结果:33.求偶正数的平方根。自定义一个异常类,当向该方法传递的参数是负数时发生MyException异常。(1)源程序:classMyExceptionextendsException{Stringmessage;MyException(intn){message=n+不是正数;}publicStringgetMessage(){returnmessage;}}classA{publicvoidf(intn)throwsMyException{if(n0){MyExceptionex=newMyException(n);throw(ex);}4doublenumber=Math.sqrt(n);System.out.println(n+的平方根:+number);}}publicclasssy10_3{publicstaticvoidmain(Stringargs[]){Aa=newA();try{a.f(28);a.f(-8);}catch(MyExceptione){System.out.println(e.getMessage());}}}(2)实验结果:54.设计方法booleanprime(intn),用来判断整数n是否为素数,若为素数,返回trun;若不是素数,则返回false;若n0,则抛出ArgumentOutOfBound异常。(1)源程序:classArgumentOutOfBoundExceptionextendsException{ArgumentOutOfBoundException(){System.out.println(输入错误,被判断的数不能为负数!);}}publicclassUseDefineException{publicstaticbooleanprime(intn)throwsArgumentOutOfBoundException{if(n0){ArgumentOutOfBoundExceptionae=newArgumentOutOfBoundException();throw(ae);}else{booleanisPrime=true;for(inti=2;in;i++)if(n%i==0){isPrime=false;break;}returnisPrime;}}publicstaticvoidmain(String[]args){if(args.length!=1){System.out.println(输入格式错误!请按照此格式输入:javaUseDefineExceptionm);System.exit(0);}intm=Integer.parseInt(args[0]);try{booleanresult=prime(m);System.out.println(输入的整数+m+是否为素数的结果是:+result);}catch(ArgumentOutOfBoundExceptione){System.out.println(异常名称:+e.toString());}}}(2)实验结果:67四、实验小结(包括问题和解决方法、心得体会等)本次实验主要编译调试了跟异常的抛出和产生相关的程序,包括编写当输入串中含有非数字时或除数为0时,通过异常处理机制,使程序能正确运行的相除程序;计算n!并捕获可能出现的异常;若n0,则抛出ArgumentOutOfBound异常。课前由于老师已经给出了程序代码,所以编写起来比较简单。通过本次实验,我了解了Java系统的异常的类型和异常的产生,也掌握了自定义异常类的处理。五、指导教师评语成绩批阅人日期

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功