首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
面向对象java前三次pta作业
返回列表
发新帖
面向对象java前三次pta作业
[复制链接]
发表于 2023-10-17 05:45:02
|
显示全部楼层
|
阅读模式
目录:
1、前言
2、设计与分析
3、踩坑心得
4、主要困难及改进建议
5、总结
1、前言
面向对象程序设计(Object-Oriented Programming,简称OOP)是一种编程范式,它以对象作为程序的基本单元,将数据和操作封装在一起。面向对象程序设计的基本概念包括类、对象、继承、多态等。
类(Class)是面向对象程序设计的基本构建块,它是一种抽象的数据类型,用于描述具有相同属性和行为的对象的集合。类定义了对象的属性(成员变量)和行为(方法)。
对象(Object)是类的实例化结果,它是具体的、有状态的实体。对象可以根据类的定义,拥有自己的属性值,并能执行类中定义的方法。
继承(Inheritance)是一种机制,允许在已有类的基础上创建新类,新类可以继承和扩展已有类的属性和方法。继承能够提供
代码
的重用性和层次化的组织结构。
多态(Polymorphism)是指同一类型的对象在不同的情况下可以表现出不同的行为。多态性可以通过继承和接口实现,使得程序可以根据上下文选择合适的方法。
面向对象程序设计的优点包括
代码
的可重用性、可扩展性、易维护性和模块化等。它提供了一种更加灵活和抽象的编程方式,使得程序的设计和实现更加清晰和可管理。在前三次的作业中我主要使用了创建类和对象的知识,并未涉及到继承和多态的有关知识的运用。
第一次作业主要是一些java基础语法的应用,较为简单的输入输出应用,if-else、switch、while语句等循环、选择语句的应用,第一次作业体量大,但是难度低,比较重视我们的基础训练;
第二次作业开始接触封装的思想,题目主要针对于类以及对象的创建和应用、java自带的
API
的熟悉、各种类的运用,题目量大,难度也提高了许多;
第三次作业题量减少许多,相对难度是三次作业中最大的,其中关于类的创建和运用对于现在的我来说略感复杂。
2、设计与分析
第一次作业:
总体分析:这次作业主要设计到java语言的简单输入输出、字符串匹配、循环、选择语句的运用,其中对类的应用并不复杂。
类图如下:
7-1 身体质量指数(BMI)测算---------使用了简单的scanner类输入,经过简单的选择语句,即可得出正确答案
7-2 长度质量计量单位换算-----------主要是精度之间的转换,针对基本语法的考察,也不难
7-3 NCHU_奇数求和---------掌握算法,经过简单if-else语句,即可累加得出答案
7-4 NCHU_房产税费计算---------这道题只需要注意单位转换,输入和输出一一对应,与上面的难度相当
7-5 游戏角色选择----------这道题需要用到switch选择语句,可以减少复杂度。
7-6 NCHU_学号识别-----------这道题需要用到string类的有关方法,如substring、equals等来匹配学号的对应位数字
7-8 NCHU_巴比伦法求平方根近似值------运用math类的abs方法求绝对值,即可求出
7-9 二进制数值提取-------这道题主要用到了string类的charAt来获取字符串的某一位字符,来匹配二进制的0、1,进而判断
7-7 判断三角形类型-----------题目如下:
输入三角形三条边,判断该三角形为什么类型的三角形。
输入格式:
在一行中输入三角形的三条边的值(实型数),可以用一个或多个空格或回车分隔,其中三条边的取值范围均为[1,200]。
输出格式:
(1)如果输入数据非法,则输出“Wrong Format”;
(2)如果输入数据合法,但三条边不能构成三角形,则输出“Not a triangle”;
(3)如果输入数据合法且能够成等边三角形,则输出“Equilateral triangle”;
(3)如果输入数据合法且能够成等腰直角三角形,则输出“Isosceles right-angled triangle”;
(5)如果输入数据合法且能够成等腰三角形,则输出“Isosceles triangle”;
(6)如果输入数据合法且能够成直角三角形,则输出“Right-angled triangle”;
(7)如果输入数据合法且能够成一般三角形,则输出“General triangle”。
在这道题的解题过程中,我遇到一个始终过不去的测试点,就是那个等腰直角三角形的判断,我的算法是既符合等腰三角形的两边相等,又符合a的平方+b的平方=c的平方,但是始终无法通过这个测试点,后来经过网络查询,我想到或许是因为电脑对于无理数的输出不够准确,于是我把其判断条件改成了a*a+b*b-c*c
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
守听
+ 我要发帖
×
登录参与点评抽奖,加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表