异常处理实验_第1页
异常处理实验_第2页
异常处理实验_第3页
异常处理实验_第4页
异常处理实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上异常处理一、实验目的:理解 java 语言中独特的异常处理机制;掌握异常处理方法;正确地使用捕获异常和声明抛弃异常的两种异常处理的方法;理解自定义异常类的使用; 理解抛出异常和声明抛出异常的区别与联系;二、实验内容:1 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。 2写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常I

2、llegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。3.自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。三、实验

3、要求:1. 通过实验掌握捕获异常和声明抛弃异常的两种异常处理的方法;2. 程序必须能够捕获Integer.parseInt()产生的异常并作相应的处理;3. 程序必须能够将处理的相应的信息输出出来;4. 写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。(附运行界面、源代码)。四、实验步骤:1 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。 package javaTest;impor

4、t java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Gui_28 public static void main(String args) / TODO Auto-generated method stubint a=new int10;String str=null;BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);int i;for(i=0;i<3;i

5、+)System.out.println("请输入一个数字");try str = buf.readLine(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); ai=Integer.parseInt(str); try if(i<4) throw new IndexOutOfBound(); catch(IndexOutOfBound e) System.out.println(e.getMessage(); class IndexOutOfBound exte

6、nds Exceptionpublic IndexOutOfBound()super("请输入至少五个数字");2写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。package javaTest;public class Gui_19 public static void main(String args) th

7、rows IllegalArgumentException / TODO Auto-generated method stubnew panduan().sanjiao(1,2,3);class panduanvoid sanjiao(int a,int b,int c) throws IllegalArgumentExceptionif(a+b>c&&a+c>b&&b+c>a)System.out.println(a+","+b+","+c);else System.out.println(new Il

8、legalArgumentException(a,b,c);class IllegalArgumentException extends ExceptionIllegalArgumentException(int a,int b,int c)super(a+","+b+","+c+"不能构成三角形"); package javaTest;public class Gui_20 public static void main(String args) / TODO Auto-generated method stub new Sanj(

9、3,4,5).getArea(3, 4, 5);class Sanjint x,y,z;Sanj(int x,int y,int z)this.x=x;this.y=y;this.z=z;public void getArea(int a,int b,int c)double p=(a+b+c)/2;double area=Math.sqrt(p*(p-a)*(p-b)*(p-c);if(a+b>c&&a+c>b&&b+c>a)System.out.println(area);else System.out.println(new NotSan

10、jiaoException(a,b,c).toString();public void showInfo(int a,int b,int c)if(a+b>c&&a+c>b&&b+c>a)System.out.println(a+","+b+","+c);else System.out.println(new NotSanjiaoException(a,b,c).toString();class NotSanjiaoException extends ExceptionNotSanjiaoExceptio

11、n(int x,int y,int z)super(x+","+y+","+z+"不能构成三角形");1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试 package javaTest;public class StringIndexOutOfpublic static void main(String args)trySystem.out.println("字符串索引越界异常");String str=args0;System.out.println("第四个字符为 "+str.charAt(3);int aa=Integer.parseInt(args0);System.out.println(

温馨提示

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

最新文档

评论

0/150

提交评论