关于OOP第一阶段的作业总结
阅读提示:本文目录导航,PC端页面位于文章右侧,移动端点击文章标题右侧小图标,需下滑后(顶部图片消失)目录才完全显示,可根据目录跳转文章位置。
一、前言
以下题目来源PTA题目集1-3,基本为Java的基本语法及一点面向对象的思想。
- 知识点:Java基本语法
(没什么好讲的),正则表达式 - 题量:适中
- 难度:除题目集7-3 一元多项式求导 无
二、设计与分析
1. 题目集一
输入三角形三条边,判断该三角形为什么类型的三角形。
输入格式:
在一行中输入三角形的三条边的值(实型数),可以用一个或多个空格或回车分隔,其中三条边的取值范围均为[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"。
分析与心得: 先给输入的三条边排好序,可以减少很多判断。 使用\(x^2 + y^2 = z^2\)判断直角三角形时,若为浮点数会出现浮点误差无法相等。如\(\sqrt2\)
核心代码:
Arrays.sort(arr); final double EPS = 1e-5;//写-8 不行 这精度卡的。。。 if (arr[0] < 1 || arr[2] > 200) System.out.print("Wrong Format"); else if (arr[0] + arr[1] <= arr[2]) System.out.print("Not a triangle");//wow 看错题了,还以为和上一行输出一样 else if (arr[0] == arr[1] && arr[1] == arr[2]) System.out.print("Equilateral triangle"); else if (arr[0] == arr[1] || arr[1] == arr[2]) { if (Math.abs(arr[0] * arr[0] + arr[1] * arr[1] - arr[2] * arr[2]) <= EPS)//卡精度?????? System.out.print("Isosceles right-angled triangle"); else System.out.print("Isosceles triangle"); } else if (Math.abs(arr[0] * arr[0] + arr[1] * arr[1] - arr[2] * arr[2]) <= EPS) System.out.print("Right-angled triangle"); else System.out.print("General triangle");
2. 题目集二
3. 题目集三
三、踩坑心得
四、改进建议
五、总结
原文转载:http://www.shaoqun.com/a/663728.html
家得宝:https://www.ikjzd.com/w/1570
欧麦:https://www.ikjzd.com/w/2085
关于OOP第一阶段的作业总结阅读提示:本文目录导航,PC端页面位于文章右侧,移动端点击文章标题右侧小图标,需下滑后(顶部图片消失)目录才完全显示,可根据目录跳转文章位置。一、前言以下题目来源PTA题目集1-3,基本为Java的基本语法及一点面向对象的思想。知识点:Java基本语法(没什么好讲的),正则表达式题量:适中难度:除题目集7-3一元多项式求导无二、设计与分析1.题目集一7-8判断三角形类型
东杰智能:https://www.ikjzd.com/w/1967
extra:https://www.ikjzd.com/w/1736
55海淘:https://www.ikjzd.com/w/1723
疯狂报复 染上性病后群交不断:http://lady.shaoqun.com/a/273048.html
一群供应商聚集云集品公司门前齐喊"还钱",云集品公司跑路?:https://www.ikjzd.com/home/8093
海外营销不好做?来试试KOL营销吧!:https://www.ikjzd.com/home/129580
No comments:
Post a Comment