最新java异常处理作业(1113132845).doc
-
资源ID:33834282
资源大小:135KB
全文页数:10页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
最新java异常处理作业(1113132845).doc
精品资料java异常处理作业(1113132845).Java异常处理作业孙月巧1、参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。【提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试】package November;import java.util.Scanner;public class StringIndexOutOfpublic static void main(String args)System.out.println("请输入一个字符串:");tryScanner reader=new Scanner(System.in); String str = reader.nextLine();System.out.println("第四个字符为 " + str.charAt(3);int aa = Integer.parseInt(str);System.out.println("平方为 " + aa * aa);catch(StringIndexOutOfBoundsException e)System.out.println("您输入的数值下标越界"); catch(NumberFormatException nfe)System.out.println("您输入的不是数字");2、从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。 package November;import java.util.Scanner;public class Test2 public static void main(String args) System.out.println("请输入五个整数:");try int a = Integer.parseInt(args0);int b = Integer.parseInt(args1);int c = Integer.parseInt(args2);int d = Integer.parseInt(args3);int e = Integer.parseInt(args4);catch (NumberFormatException n) System.out.println("请输入整数"); catch (ArrayIndexOutOfBoundsException e) System.out.println("请输入至少5个整数");catch (Exception e) System.out.println(e.getMessage(); 3、写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。 package November;import java.util.Scanner;public class Test3 void sanjiao() int a; int b; int c;System.out.println("请输入三条边长");Scanner reader=new Scanner(System.in);a=reader.nextInt();b=reader.nextInt();c=reader.nextInt();if(a+b>c&&a+c>b&&b+c>a)System.out.println("三角形的边长分别为"+"a="+a+" "+"b="+b+" "+"c="+" "+c);elseSystem.out.println("不能构成三角形"); if(a<0|b<0|c<0) System.out.println("三条边不能为负"); public static void main(String args)Test3 t=new Test3();tryt.sanjiao();catch(NumberFormatException nfe)System.out.println("请输入正整数");catch(IllegalArgumentException iae)System.out.println("不能构成三角形!");catch(Exception e)System.out.println("-程序出错-");4、自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。 import java.util.InputMismatchException;import java.util.Scanner;class Test private double x;private double y;private double z;public Test(double a, double b, double c)this.x = a;this.y = b;this.z = c;/面积public double getArea()return (1/4.0)*Math.sqrt(x+y+z)*(x+y-z)*(x+z-y)*(y+z-x);/展示信息public void showInfo()System.out.println("边长分别为:"+x+","+y+","+z);class NotSanjiaoException extends Exceptionpublic NotSanjiaoException()super("不能构成三角形!");public class Test4public static void main(String args) Scanner s = new Scanner(System.in);System.out.println("请输入三个边");trydouble x = s.nextDouble();double y = s.nextDouble();double z = s.nextDouble();if(!(x+y>z && x+z>y && y+z>x)throw new NotSanjiaoException();Test sj = new Test(x,y,z);System.out.println(sj.getArea();sj.showInfo();catch (NotSanjiaoException e)System.out.println(e.getMessage();catch(InputMismatchException e )System.out.println("非法字符!");