nchu-software-oop-1-3总结
(1)前言:在面向对象程序设计这门课程的学习过程开始后的一段时间,完成了三次相关的练习,现将这三次练习中遇到的一些问题,收获的经验等等总结如下。
1、契税:首次购房评估额90平(含)内1%、90平-144平(含)内1.5%,超过144平或非首 次3%,买方缴纳。2、印花税:房款的0.05%。3、交易费:3元/平方米。4、测绘费:1.36元/平方米。5、权属登记费及取证费:一般情况是在200元内。
程序初始运行时lastGuess可赋予一个最初的猜测值。当由公式求得的nextGuess和lastGuess相差较大时,把nextGuess的值赋给lastGuess,继续以上过程,直至nextGuess和lastGuess几乎相同,此时lastGuess或者nextGuess就是平方根的近似值。
本题要求:nextGuess和lastGuess的差值小于0.00001时认为两者几乎相同
难度为中,考察了java中对于给定的公式和判断条件进行算法设计的知识以及对数值的正确判断。
2位年级号+2位学院号+2位班级号+2位序号,如19041103,
编写程序处理用全院学生学号连接起来的长字符串,学院编号为20,包括17、18、19、20四个年级,请从字符串中提取特定两个班级202017班、202061班同学的学号后四位输出,输出编号之间用空格分隔,不换行。
注意:需要排除非法输入。
难度中上,仍然是考察字符串子串,单个字符是否规范的判断方面的知识。
第二次练习题目整体难度为中,题量合理。
1:输入两点坐标,计算斜率,若线条垂直于X轴,输出"Slope does not exist"。
2:输入三个点坐标,输出第一个点与另外两点连线的垂直距离。
3:输入三个点坐标,判断三个点是否在一条线上,输出true或者false。
4:输入四个点坐标,判断前两个点所构成的直线与后两点构成的直线是否平行,输出true或者false.
5:输入四个点坐标,计算输出前两个点所构成的直线与后两点构成的直线的交点坐标,x、y坐标之间以英文分隔",",并输出交叉点是否在两条线段之内(不含四个端点)的判断结果(true/false),判断结果与坐标之间以一个英文空格分隔。若两条线平行,没有交叉点,则输出"is parallel lines,have no intersection point"。
1:输入三个点坐标,判断是否是等腰三角形、等边三角形,判断结果输出true/false,两个结果之间以一个英文空格符分隔。
2:输入三个点坐标,输出周长、面积、重心坐标,三个参数之间以一个英文空格分隔,坐标之间以英文","分隔。
3:输入三个点坐标,输出是钝角、直角还是锐角三角形,依次输出三个判断结果(true/false),以一个英文空格分隔,
4:输入五个点坐标,输出前两个点所在的直线与三个点所构成的三角形相交的交点数量,如果交点有两个,则按面积大小依次输出三角形被直线分割成两部分的面积。若直线与三角形一条线重合,输出"The point is on the edge of the triangle"
5:输入四个点坐标,输出第一个是否在后三个点所构成的三角形的内部(输出in the triangle/outof triangle)。
必须使用射线法,原理:由第一个点往任一方向做一射线,射线与三角形的边的交点(不含点本身)数量如果为1,则在三角形内部。如果交点有两个或0个,则在三角形之外。若点在三角形的某条边上,输出"on the triangle"
使用ASCII值与强制类型转换可以较为简易的完成该题。
接收字符串,然后判断是否达到规定的最短长度,再依次判断奇偶性以及结束符,然后利用indexOf和charAt方法分割字符串,再输出。做完题目二后对分割字符串,判断字串内容有了更深刻的了解,利用indexOf和charAt方法可以较好的分割,判断字符串是否符合输入要求。
题目集三:

设计三个类,依次为Main,divede和check。check类检查输入的点是否符合个数要求,以及输入的点是否符合格式。divide类分割字符串,并且提取出4个double类型的浮点数,再将存有2个点的坐标的double类型的数组传回Main类,在Main类中进行计算并输出结果。
1:输入两点坐标,计算斜率,若线条垂直于X轴,输出"Slope does not exist"。
2:输入三个点坐标,输出第一个点与另外两点连线的垂直距离。
3:输入三个点坐标,判断三个点是否在一条线上,输出true或者false。
4:输入四个点坐标,判断前两个点所构成的直线与后两点构成的直线是否平行,输出true或者false.
5:输入四个点坐标,计算输出前两个点所构成的直线与后两点构成的直线的交点坐标,x、y坐标之间以英文分隔",",并输出交叉点是否在两条线段之内(不含四个端点)的判断结果(true/false),判断结果与坐标之间以一个英文空格分隔。若两条线平行,没有交叉点,则输出"is parallel lines,have no intersection point"。
接收输入的字符串,并判断输入的格式是否符合题目的5个要求,如果符合,再判断点的个数是否符合对应编号的个数要求,如果不符合,输出对应的错误提示,如何符合,则进入对应的方法分割字符串并传入对应的坐标到double数组中,然后进入对应的方法计算并且根据不同的情况输出结果。


1:输入三个点坐标,判断是否是等腰三角形、等边三角形,判断结果输出true/false,两个结果之间以一个英文空格符分隔。
2:输入三个点坐标,输出周长、面积、重心坐标,三个参数之间以一个英文空格分隔,坐标之间以英文","分隔。
3:输入三个点坐标,输出是钝角、直角还是锐角三角形,依次输出三个判断结果(true/false),以一个英文空格分隔,
4:输入五个点坐标,输出前两个点所在的直线与三个点所构成的三角形相交的交点数量,如果交点有两个,则按面积大小依次输出三角形被直线分割成两部分的面积。若直线与三角形一条线重合,输出"The point is on the edge of the triangle"
5:输入四个点坐标,输出第一个是否在后三个点所构成的三角形的内部(输出in the triangle/outof triangle)。
必须使用射线法,原理:由第一个点往任一方向做一射线,射线与三角形的边的交点(不含点本身)数量如果为1,则在三角形内部。如果交点有两个或0个,则在三角形之外。若点在三角形的某条边上,输出"on the triangle"

接收输入的字符串,并判断输入的格式是否符合题目的5个要求,如果符合,再判断点的个数是否符合对应编号的个数要求,如果不符合,输出对应的错误提示,如何符合,则进入对应的方法分割字符串并传入对应的坐标到double数组中,然后进入对应的方法计算并且根据不同的情况输出结果。
如果将判断条件改为0,则会出错,因为java计算浮点数无法精确,只能以这种形式判断三角形的形状。
根据之前的测试数据以及题干信息可知,1才为奇偶判断正确,但是此样例以及某些测试点,0反而为奇偶判断正确,题干也未给出更详细的信息,不明觉厉。
第三次练习:
通过点与点之间格式的特点,判断,和空格的位置,借此取出每个点的x,y坐标并存入double数组中的对应位置。
浙公网安备 33010602011771号