OOP第四次到第六次作业总结
Posted BuliBuli-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OOP第四次到第六次作业总结相关的知识,希望对你有一定的参考价值。
前言:
前三次oop训练集的题目量不多,前三次题量总计25题,难度也是旨在让我们从易到难来理解,自学java的语法,所以难度适中。
第一次OPP训练集:
第一次训练集集中于让我们熟悉java的语法,很多题目其实都用C语言写过了,难度不是很大。
第二次OPP训练集:
第二次训练集主要集中训练我们的逻辑思维,其中的大量题目都要运用各种判断来解题。
第三次OOP训练集:
-第一次训练集主要考察类的创建和规范,其中7-3,7-4两题难度相对其他题目要难一些,但是7-3的代码可以用在7-4上,可以检验你的代码是否可以重复利用,是否有可持续性。
第一次OOP训练:
7-7 有重复的数据
设计与分析:
设计
将整数存入数组,在将数组从小到大排序,在用循环比对相邻的两个数,如果相同则输出NO,如果比对到最后则输出YES
分析
一开始我写的是将数组中的整数与这个数前的所有数比对,后来发现运行超时,所以这种暴力比对是不行的,后来改用排序后。只要比对相邻两数就可以了,大大减少时间复杂度。
具体代码
点击展开查看代码
生成报表
踩坑心得
改进建议
设计与分析:
设计
分析
具体代码
点击展开查看代码
生成报表
踩坑心得
改进建议
这题一样,书写不规范,可读性很低,不利于后期的改进和持续性开发。这题也可以与上一题写进一个关于数组的去重的类中,做到持续开发完善。
第二次OOP训练集:
7-8 判断三角形类型
设计与分析:
设计
将输入的三条边先进行合法判断,在进行各种三角型的逻辑判断
分析
三角形类型判断就要运用好勾股定理,并且有的三角形有着包含关系,就像等腰直角三角型包含在等腰三角型中,要合理的减少代码量,做到简洁,可读。
具体代码
点击展开查看代码
生成报表
踩坑心得
改进建议
7-9 求下一天
设计与分析:
设计
分析
具体代码
点击展开查看代码
生成报表
踩坑心得
改进建议
第三次OOP训练集:
7-3 定义日期类
设计与分析:
类图:
分析
具体代码
点击展开查看代码
生成报表
踩坑心得
改进建议
7-4 日期类设计
设计与分析:
类图:
分析
具体代码
点击展开查看代码
生成报表
踩坑心得:
改进建议
总结:
第六次学习总结&&第四次实验总结
Java实验报告
班级 1班 学号 20188390 姓名 宋志豪
实验四 类的继承
1.实验目的
(1)掌握类的继承方法;
(2)变量的继承和覆盖,方法的继承、重载和覆盖实现;
2.实验内容
实验代码
package 继承;
import java.io.InputStream;
import java.util.Scanner;
class Circle
private double radius;
public Circle()
this.radius=0;
public Circle(double radius)
this.radius=radius;
public double getRadius()
return radius;
public double getPerimeter()
return Math.PI*2*this.radius;
public double getArea()
return Math.PI*Math.pow(this.radius, 2);
public void disp()
System.out.println("圆的半径:"+this.radius+"\\n圆的周长:"+this.getPerimeter()+"\\n圆的面积:"+this.getArea());
public class Cylinder extends Circle
private double height;
public Cylinder(double 半径,double 高)
super(半径);
this.height=高;
public double getHeight()
return height;
public double getVol()
return getArea()*this.height;
public void dispVol()
System.out.println(getVol());
public static void main(String[] args)
Scanner input=new Scanner (System.in);
Cylinder cylinder=new Cylinder(input.nextDouble(),input.nextDouble());
System.out.println(cylinder.getVol());
实验结果
出现了一个问题:使用 Scanner input=new Scanner(System.in); 错误提示说 Scanner无法解析为类型
原因是没有导入这个类, 因为前面使用了import java.io.InputStream;这个类,所以一时疏忽忘记了。
实验心得
在写这个题的时候,发现它的基础算法与以前的长方形问题大同小异,难点在于继承这个新知识的使用,使用时非常的难以理解,要看着软件里的警告和问题提示一点一点改正,看不懂的知识还要上网搜索。
学习总结
老师上课没有上新内容,讲解了以前的题目,加深了我们对以前学的知识的印象。
不过,老师上课的时候提到了两个思考题,上周第一节课是猫类和狗类的判断吧,记得不是很清楚;第二个就是说判断传进来的参数是否是猫的子类或者是猫的实例,我们寝室讨论的结果是使用if语句,用instanceof关键字来判断传进来的参数是否是猫的子类或者是猫的实例。
自己对学习的看法
上课的内容的跨度比较大,一节课学习的内容比较多,不提前进行预习是很难跟得上老师的进度。
以后可以在PTA上找出比较适合自己实力的题目去拓展自己,不过要等到我能熟练的使用我所学的知识,加油!!!
以上是关于OOP第四次到第六次作业总结的主要内容,如果未能解决你的问题,请参考以下文章