面向对象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 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表