首页 > 其他分享 >BLOG_OOP_期中考试

BLOG_OOP_期中考试

时间:2023-06-29 16:14:02浏览次数:25  
标签:topLeftPoint lowerRightPoint Point 期中考试 double BLOG OOP input public

前言

涉及知识点

  • 1.对于创建对象和类的初步实践;
    如构建圆类和矩形类;
  • 1.对于抽象类和继承与多态的认识;
    如构建shape类;

题量

  • 不多,可以完成。

难度

  • 不大,可以完成。

设计与分析

题目源码如下


import java.util.*;

public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input = new Scanner(System.in);

        int choice = input.nextInt();

        switch (choice) {
            case 1://Circle
                double r = input.nextDouble();
                Shape circle = new Circle(r);
                circle.getArea();
                break;
            case 2://Rectangle
                double x1 = input.nextDouble();
                double y1 = input.nextDouble();
                double x2 = input.nextDouble();
                double y2 = input.nextDouble();

                Point leftTopPoint = new Point(x1, y1);
                Point lowerRightPoint = new Point(x2, y2);

                Rectangle rectangle = new Rectangle(leftTopPoint, lowerRightPoint);
                rectangle.getArea();
                break;
        }

    }
}
public abstract class Shape {


    public abstract void getArea();
}
```plaintext
public class Circle extends Shape {
    double r;

    public Circle(double r){
        this.r=r;
    }

    @Override
    public void getArea(){
        double s = (3.1415926)*r*r;
        System.out.printf("%.2f",s);
    }
}
public class Rectangle extends Shape {

    private Point topLeftPoint;
    private Point lowerRightPoint;

    public Rectangle(Point topLeftPoint,Point lowerRightPoint){
        this.lowerRightPoint=lowerRightPoint;
        this.topLeftPoint=topLeftPoint;
    }
    @Override
    public void getArea(){
        double s=(topLeftPoint.getX() - lowerRightPoint.getX())*(topLeftPoint.getY()- lowerRightPoint.getY());
        if(s<0){
            s=-s;
        }
        System.out.printf("%.2f",s);
    }



}
public class Point {
        private double x;
        private double y;

        public Point(){

        }

        public Point(double x,double y){
            this.x=x;
            this.y=y;
        }

        public double getX() {
            return x;
        }

        public double getY() {
            return y;
        }
    }

踩坑心得

1.implements实现并不熟悉;

改进建议

1.多加练习;


总结

我学到了很多关于类的基本使用、抽象类的创建及使用、继承和多态的性质等知识,但是对于接口实现还是不够熟练,日后需要多多练习;

标签:topLeftPoint,lowerRightPoint,Point,期中考试,double,BLOG,OOP,input,public
From: https://www.cnblogs.com/Tsyk0/p/MIDTEST.html

相关文章

  • blog2
    第四次题目集7-1菜单计价程序-4分数100作者蔡轲单位南昌航空大学本体大部分内容与菜单计价程序-3相同,增加的部分用加粗文字进行了标注。设计点菜计价程序,根据输入的信息,计算并输出总价格。输入内容按先后顺序包括两部分:菜单、订单,最后以"end"结束。菜单由一条或多条菜品记......
  • pta题目集4~5及期中考试总结性blog
    一、前言总结三次题目集的知识点、题量、难度等情况第四次题目集主要更新了各种异常情况,是对代码正确度的深入考察,涉及时间的格式问题,信息的格式问题各种格式问题等等,涉及到hashset、面向对象编程的封装性、BigDecimal类关于精确小数的运算以及了解Scanner类中nextLine()等方法......
  • 面向对象程序编程PTA题目集4、5以及期中考试的总结性Blog
    1.对之前发布的PTA题目集4、5以及期中考试的总结性Blog,内容要求如下:(1)前言:总结之前所涉及到的知识点、题量、难度等情况期中考试作业:知识点:主要就是考了对类的使用,和不同类间的相互配合使用,还有对于一个程序的不断循环使用(相比之前更加灵活,可以自定义输入的个数),正则表达(可用可不......
  • BLOG-2
    前言:本篇blog主要分析PTA4和PTA5的两道菜单计价程序和期中考试题目。实现菜单计价程序是一个常见的编程练习,可以帮助学习者巩固Java语言的基础知识和面向对象编程的概念。下面将介绍涉及的知识点和难度。1.知识点:-类和对象:程序需要设计菜单类和菜品类,通过创建对象来表示不......
  • 对之前发布的PTA题目集4、5以及期中考试的总结性
    一、前言:总结之前所涉及到的知识点、题量、难度等情况知识点:输入和输出:根据输入的菜单和订单信息,计算每桌的总价,并按顺序输出每一桌的总价。字符串处理和分割:需要将输入的字符串进行适当的处理和分割,提取所需的信息。条件判断和计算:根据不同的情况进行条件判断和计算,......
  • java第二次blog
    1.前言:4~6次pta题目集难度上升,代码量增加,考察了对类的设计以及如何实现类间关系等。难度较大。涉及到了去重排序循环遍历等。还有API接口,JAVA自带的实现类,包装类,成员方法等,涉及的知识面更广更难。 2.设计分析: 7-1菜单计价程序-3:设计点菜计价程序,根据输入的信息,计算......
  • 题目集6-8的总结性Blog
    一、前言第6-8次的pta没有延续之前的菜单计价程序,主要是围绕课程成绩统计程序进行的。第六次大作业就是成绩统计程序,第七次大作业则增加了对HashMap和多态的一个考察,第八次大作业则是增加了对Arraylist部分知识点的考察。这三次作业不再是菜单的设计,而是改为学生成绩的统计,但还是......
  • Blog PTA 6-9总结
    关于成绩统计程序类的结构理解(老师提供的结构代码)这里以课程成绩统计程序-3为代表,本质上三个题目的差别度不大,核心思想都没用太大处。尤其和前面的点菜系统有很强的相似性。输入结构课程名字性质考核方式权重的个数(1,2,4-9不等)考试两个成绩,两个权重考察一个成绩一个权......
  • blog-6-8次PTA题目集(成绩计算系列)
    (1)前言:第6次题目集课程成绩统计程序-1在规范性输入时涉及到了正则表达式,数组列表及其相关方法的使用,if-else,for,foreach循环的使用,以及字符串中的substring()方法,equals()方法的使用,Integer.toString等相关类型之间转化的方式,数据域的封装,Comparable接口的实现,Collections.sort......
  • Blog3
    PTA题目集6,7,8总结Blog一、前言大一下学期开始,我们开始学习Java这门编程语言。Java具有大多数编程语言共有的特性,是专门设计用于互联网分布式环境的。它的形式和感觉类似于C++,但相比C++更易于使用,并且完全采用了面向对象的编程方式。到目前为止,我们已经完成了八次Pta作业。除了......