运维.售后
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
博客
Blog
ToB门户
了解全球最新的ToB事件
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
面向对象java前三次pta作业
面向对象java前三次pta作业
守听
金牌会员
|
2023-10-17 05:45:02
|
显示全部楼层
|
阅读模式
楼主
主题
895
|
帖子
895
|
积分
2685
目录:
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
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
守听
金牌会员
这个人很懒什么都没写!
楼主热帖
【网络编程】从零开始搭建一个开源博客 ...
Vulnhub靶机-Al-Web-1
报错building for iOS Simulator, but ...
Python学习:import的正确用法
【CSDN云VS腾讯云】要不然怎么说CSDN开 ...
面试官:BIO、NIO、AIO是什么,他们有 ...
TCP协议
全网最新的nacos 2.1.0集群多节点部署 ...
UWP/WinUI3 Win2D PixelShaderEffec ...
如何成为一名开发人员——第 3 部分: ...
标签云
存储
服务器
快速回复
返回顶部
返回列表