深圳大学-Java程序设计-选实验2 类的初级应用

实验目的与要求

****实验目的:****初步掌握面向对象编程中类的编写。

实验要求:

(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 1. .设计并测试一个长方体类Box。(1)数据成员包括length、width和height,分别表示长方体的长、宽和高;(2)定义setInfo(int,int,int)方法设置这3个数据成员的值;(3)定义volume()方法求长方体的体积;(4)定义area()方法求长方体的表面积;(5)定义toString()方法把长方体的长、宽、高以及长方体的体积和表面积转化为字符串并返回。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。(20分) 程序截图: 运行结果截图: 首先导入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方法,并分别赋值给对应变量。完成打印。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 其他(例如感想、建议等等)。 |

相关推荐
AAA阿giao1 分钟前
React 闭包陷阱详解:为什么你的定时器总在“说谎”?
前端·javascript·react.js
糖炒栗子03261 分钟前
图片加水印与 EXIF 保留方案
java
tongxh4231 分钟前
Spring Boot问题总结
java·spring boot·后端
小小小小宇3 分钟前
Mac Claude Code
前端
小小小小宇5 分钟前
Claude Code 未登录 使用第三方模型
前端
岭子笑笑6 分钟前
Vant4源码阅读之Upload
前端
Highcharts.js7 分钟前
经验值|React 实时数据图表性能为什么会越来越卡?
前端·javascript·react.js·数据可视化·实时数据
3秒一个大7 分钟前
深入理解 Node.js:生态体系与事件循环机制详解
前端·后端·node.js
Chan167 分钟前
SpringAI:RAG 最佳实践与调优
java·spring boot·ai·java-ee·intellij-idea·rag·springai
odng8 分钟前
Windsurf / Codex 默认只显示 3 个最近任务,如何改成 100 个
java