实验目的与要求:
实验目的:初步掌握面向对象编程中类的编写。
实验要求:
(1).运行第4章课件中第4页、第24页、第32页和第34页中的四个程序,并对每一行语句加上注释。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)
(2).设计并测试一个长方体类Box。(1)数据成员包括length、width和height,分别表示长方体的长、宽和高;(2)定义setInfo(int,int,int)方法设置这3个数据成员的值;(3)定义volume()方法求长方体的体积;(4)定义area()方法求长方体的表面积;(5)定义toString()方法把长方体的长、宽、高以及长方体的体积和表面积转化为字符串并返回。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)
(3).参照题(2)设计并测试一个圆柱体类Cylindrical。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)
(4).设计并测试一个研究生类PostGraduateStudent。(1)数据成员包括ID(学号)、name(姓名)以及3门课程math、programming、english;(2)定义comSum()、comAvg()、comMax()计算3门课程的总分、平均分和最高分。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分)
注意:发现抄袭(包括复制&粘贴整句话、整张图),抄袭者和被抄袭者的成绩记零分。
(1).运行第4章课件中第4页、第24页、第32页和第34页中的四个程序,并对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(40分) 第4页中的程序: 程序截图: 运行结果截图: 定义了一个名为Circle的类,Circle类有一个属性radius,表示圆的半径,和一个方法getArea,表示计算圆的面积。 在main方法中,首先创建了一个Circle类型的对象circle,然后给circle的radius属性赋值为1,表示圆的半径为1。接着调用circle的getArea方法,得到圆的面积,并将其赋值给一个double类型的变量area。最后打印area的值,显示圆的面积。 第24页中的程序: 程序截图: 运行结果截图: 首先定义了一个名为Ladder的类。Ladder类表示一个梯形,它有三个属性above,bottom,height,分别表示梯形的上底,下底和高。 Ladder类有一个无参构造方法和一个有参构造方法,用来创建Ladder对象,并给属性赋值。Ladder类还有三个方法,用来修改属性的值。Ladder类有一个computeArea方法,用来计算梯形的面积。 在main方法中,首先声明了两个double类型的变量area1和area2,用来存储两个梯形的面积。然后声明了两个Ladder类型的变量ladderOne和ladderTwo,用来引用两个Ladder对象。接着用new关键字创建了两个Ladder对象,并分别赋值给ladderOne和ladderTwo。其中ladderOne使用无参构造方法创建,然后调用set方法给属性赋值;ladderTwo使用有参构造方法创建,并直接给属性赋值。接下来调用ladderOne和ladderTwo的computeArea方法,得到两个梯形的面积,并分别赋值给area1和area2。最后使用System.out.println方法打印area1和area2的值,显示两个梯形的面积。 第32页中的程序: 程序截图: 运行截图: 首先定义一个叫Ladder的类,它有三个属性,分别表示梯子的上端、高度和低端。 然后再定义了四个方法:setAbove、setBottom、getAbove、getBottom,分别来设置梯子上端、设置梯子的底端、返回梯子上端、返回梯子底端。 最后在main 方法中给Ladder类的静态变量bottom赋值,并创建两个Ladder对象,并调用方法处理它们,最后实现打印。 第34页中的程序: 程序截图: 运行结果截图: 首先定义一个final类型的实例变量MAX,赋值为100,表示这个变量不能被修改,再定义一个final类型的静态变量MIN,赋值为20,表示这个变量也不能被修改,并且属于类而不是对象 然后在main中,先打印Tom类的静态变量MIN的值,因为不能直接访问Tom类的实例变量MAX,所以将报错代码注释掉。接着创建一个Tom对象,并用cat引用它,打印cat对象的实例变量MAX的值,输出100
程序截图: 运行结果截图: 首先导入java.util包中的Scanner类,用来接收用户输入。 然后定义一个名为Box的类,分别用三个实例变量,表示盒子的长度、宽度、高度 定义setInfo方法,用来设置盒子的尺寸,再分别定义volume、area、toString方法,用来计算体积、计算表面积、返回盒子的信息。 在main 中声明一个Box类型的变量box1,并创建一个Box对象,并用box1引用它。创建一个Scanner对象,并用scan引用它,用来接收用户输入。 调用scan对象的nextInt方法,读取用户输入的三个整数,并分别赋值给a、b、c 调用box1对象的setInfo方法,传入a,b,c三个参数,设置盒子的尺寸。分别调用box1对象的volume、area、toString方法,计算盒子的体积,并赋值给对应变量,最后实现依次打印。 (3).参照题(2)设计并测试一个圆柱体类Cylindrical。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分) 程序截图: 运行截图: 首先导入java.util包中的Scanner类,用来接收用户输入。 然后定义一个名为Cylindrical的类,分别用两个个实例变量,表示圆柱体的半径、高度。定义一个setInfo方法,用来设置尺寸,定义一个volume方法,用来计算体积,定义一个area方法,用来计算表面积,定义一个toString方法,用来返回信息 在main 中声明一个Cylindrical类型的变量cy1,并创建一个Cylindrical对象,并用cy1引用它。创建一个Scanner对象,并用scan引用它,用来接收用户输入。 调用scan对象的nextInt方法,读取用户输入的整数,并赋值给a、b。调用cy1对象的setInfo方法,传入a,b,c三个参数,设置盒子的尺寸。调用volume、area、toString方法,计算圆柱体的体积、表面积以及所有信息,并依次完成打印。 (4).设计并测试一个研究生类PostGraduateStudent。(1)数据成员包括ID(学号)、name(姓名)以及3门课程math、programming、english;(2)定义comSum()、comAvg()、comMax()计算3门课程的总分、平均分和最高分。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分) 程序截图: 运行结果截图: 首先导入java.util包中的Scanner类,用来接收用户输入。然后定义一个名为PostGraduteStudent的类,定义数据成员,并定义一个方法设置数据,再分别定义三个方法来算三门课程之和、平均值、最大值 接着在 main中声明一个PostGraduteStudent类型的变量p1并创建一个PostGraduteStudent对象,用 p1引用它。利用Scanner接收用户输入的信息, 调用方法,将信息传入,完成设置。 最后分别调用p1对象的comSum comAvg comMax方法,并分别赋值给对应变量。完成打印。
++++++++++++++++++++++++++++++++++++++++++++++++++++++ 其他(例如感想、建议等等)。 |