实验七:Java的异常处理
一、实验目的
熟练地掌握Java的异常处理的编程。通过实验掌握编写程序的思想方法,体会编程的技巧,加深Java语言的应用能力。 二、实验环境
硬件环境:微型计算机。
软件环境:Windows 2000或以上版本,JKD, Jcreator 三、实验内容与要求
用Java语言编程实现以下问题:
1、编写除数为0的异常,定义三个变量int x,y,z;让y赋上0,让语句z=x/y发生异常。 2、编写除数为0的异常声明、定义一个类,在这个类中包含main()方法,再包含一个M()方法再M()方法中定义三个变量int x,y,z;让y赋上0,让语句z=x/y发生异常,
但M()方法不进行捕捉异常,只是声明,让调用M()方法的main()方法里面去捕捉异常,并处理异常。
3、创建自己的异常,编写一个自己定义的异常类,首先自定义一个异常类sqrtException 再定义一个主类,包含main()方法和s()方法,再main()方法中调用s()方法,在s()方法中通过一个参数得到一个数,如果该数小于0,则用throw语句抛出自定义的异常,如果没有异常就返回一个数的平方根,注意数据类型的转换在main()方法中要求测试异常,并捕捉异常,在s()方法中声明异常Math.sqrt(9.0),所有数据用double类型。
4、创建自己的异常,编写一个自己定义的异常类,首先自定义一个异常类triangularException 再定义一个主类,包含main()方法和area()方法,在main()方法中调用area()方法,在area()方法中通过参数得到三角形的三边长,如果三边不能构成三角形,则用throw语句抛出自定义的异常抛出异常,最后返回三角形的面积,在main()方法中要求测试异常,并捕捉异常,在area()方法中声明异常,注意数据类型的转换所有数据用double类型。 5、创建自己的异常,编写一个自己定义的异常类,首先自定义一个异常类Equation_Exception 再定义一个主类,包含main()方法和void result()方法,在main()方法中调用void result()方法,在result()方法中通过三个参数得到一元二次方程的三个系数a,b,c,如果◇<0,方程没有根,则用throw语句抛出自定义的异常抛出异常,如果◇>0,方程有根,计算出根并输出(不要做返回值),在main()方法中要求测试异常,并捕捉异常,在result()方法中声明异常,注意数据类型的转换所有数据用double类型。
第一题:
/*编写除数为0的异常
定义三个变量int x,y,z;让y赋上0,让语句z=x/y发生异常 */
public class Math_Exception1 {
public static void main(String args[]) { try{int x,y,z; x=10;
y=0; z=x/y;
System.out.println(z);
System.out.println(\
}
catch (ArithmeticException e) { System.out.println(\算术异常\
System.out.println(\}
finally {
}
System.out.println(\} }
第二题:
public class Math_Exception2 {
public static void main(String args[]) { try
{
System.out.println(\商是\}
catch(ArithmeticException e) {
System.out.println(\输入的除数不能为0\}
}
public static String M(String x1,String y1) throws ArithmeticException
{ }
int x,y,z;
x=Integer.parseInt(x1); y=Integer.parseInt(y1); z=x/y;
return Integer.toString(z); }
第三题:
class sqrtException extends Exception
{
sqrtException() {
super();
} }
public class Math_Exception {
public static void main(String args[]) { try {
System.out.println(s(-4)); }
catch(sqrtException e) {
System.out.println(\输入的数超出范围\ }
}
static double s(double x) throws sqrtException
{ }
if(x<0)
throw new sqrtException(); else return Math.sqrt(x); }
第四题:
class triangularException extends Exception {
triangularException() { super(); }
}
public class triangular_Area {
public static void main(String args[]) { try
catch(triangularException e) {
System.out.println(\输入的数不能构成三角形\ } {
System.out.println(\边长为3 4 5的三角形面积为\System.out.println(\边长为1 2 3的三角形s\}
}
static double area(double x,double y,double z) throws triangularException {
}
if(x+y>z&&x-y else throw new triangularException(); } 第五题: class Equation_Exception extends Exception { Equation_Exception() { super(); } } public class Equation_Result { public static void main(String args[]) { try { result(1.0,1.0,4.0); } catch(Equation_Exception e) { System.out.println(\方程无根\ } } static void result(double a,double b,double c) throws Equation_Exception { double s; s=b*b-(4.0*a*c); if(s<0) throw new Equation_Exception(); 方 程 的 根 为 \ 和 else if(s>0); System.out.println(\ \ } }