1、1实验编号: 四川师大 实验报告 年月日计算机科学学院级班 实验名称:姓名: 学号: 指导老师: 实验成绩:一、实验目的及要求(1) 熟悉 Java 的异常的分类和继承。(2) 学会捕捉和处理异常。(3) 学会自己设计异常和处理异常。(4) 熟悉多态在 Java 程序中的具体使用。二、实验内容(1) 设计一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。如果输入的参数为一个、二个、三个则它们应分别对应正方形、长方形、三角形,如果没有参数,则通过异常处理方法现实错误消息。 (用于计算面积的方法是一个重载的方法。提示:定义一个抽象的父类,并提供一个抽象的方法 area(
2、). 再派生出三个子类,重写 area()方法,然后在 main 方法中用多态来实现具体的面积函数的调用) 。三、实验主要流程、基本操作或核心代码、算法片断(该部分如不够填写,请另加附页)(1)程序代码如下:import java.lang.Math;import java.io.*;abstract class xzabstract double area();class cx extends xzdouble h,w;public cx(double u,double v)h=u;w=v;double area()return h*w;class mj extends xzdouble w
3、;public mj(double u)w=u;double area()return w*w;class yx extends xzdouble a,b,c,m,s;public yx(double u,double v,double t)a=u;b=v;c=t;double area()m=(a+b+c)/2;return Math.sqrt(m*(m-a)*(m-b)*(m-c);(后面的程序接附页)四、实验结果的分析与评价(该部分如不够填写,请另加附页)2注: 实验成绩等级分为(90-100 分)优,(80-89 分)良,(70-79 分) 中,(60-69 分) 及格,(59 分以下
4、)不及格。实 验 报 告 附 页public class Areaspublic static void main(String args) throws IOExceptionint i;tryfor(i=0;i6;i+)BufferedReader cin = new BufferedReader(new InputStreamReader(System.in);System.out.println(“输入参数的个数:“);String s = cin.readLine();int num = Integer.parseInt(s);if (num = 1) System.out.prin
5、tln(“请输入一个参数: “);String s1 = cin.readLine();double x = Double.parseDouble(s1);mj squ = new mj(x);System.out.println(“正方形的面积为:“ + squ.area(); else if (num = 2) System.out.println(“请输入二个参数:“);String s1 = cin.readLine();String s2 = cin.readLine();double x = Double.parseDouble(s1);double y = Double.pars
6、eDouble(s2);cx rec = new cx(x, y);System.out.println(“矩形的面积为:“ + rec.area(); else if (num = 3) System.out.println(“请输入三个参数:“);String s1 = cin.readLine();String s2 = cin.readLine();String s3 = cin.readLine();double x = Double.parseDouble(s1);double y = Double.parseDouble(s2);double z = Double.parseDouble(s3);yx tri = new yx(x, y, z);if(x+yz|x+zy|z+yx)System.out.println(“输入数据不合法!请重新输入! “);elseSystem.out.println(“三角形的面积为:“ + tri.area();else System.out.println(“你输入的参数不合法,请重新输入一个 1-3 之间的整数:“);catch(NumberFormatException e)System.out.println(“输入数据不合法!“);(程序完)