zoukankan      html  css  js  c++  java
  • java 继承练习题8

    按要求编写一个Java应用程序:

    1)编写一个矩形类Rect,包含:

    两个protected属性:矩形的宽width;矩形的高height

    两个构造方法:

    1.一个带有两个参数的构造方法,用于将widthheight属性初化;

    2.一个不带参数的构造方法,将矩形初始化为宽和高都为10

    两个方法:

    求矩形面积的方法area()

    求矩形周长的方法perimeter()

    2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用

    矩形的左上角坐标来标识,包含:

    添加两个属性:矩形左上角坐标startXstartY

    两个构造方法:

    4个参数的构造方法,用于对startXstartYwidthheight属性

    初始化;

    不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0

    的矩形;

    添加一个方法:

    判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩

    形内,返回true, 否则,返回false

      提示:点在矩形类是指满足条件:

    x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)

    3)编写PlainRect类的测试程序

    创建一个左上角坐标为(1010),长为20,宽为10的矩形对象;

    计算并打印输出矩形的面积和周长;

    判断点(25.513)是否在矩形内,并打印输出相关信息。

    public class Rect {
        protected double width;
        protected double height;
        Rect (double width,double height)
        {
            this.height=height;
            this.width=width;
        }
        Rect ()
        {
            width=0;
            height=0;
        }
        public void area()
        {
            double a;
            a=width*height;
            System.out.println("矩形的面积是"+a);
        }
        public void perimeter()
        {
            double a;
            a=width*2+height*2;
            System.out.println("矩形的周长是"+a);
        }
    public class PlainRect extends Rect {
        private double startX;
        private double startY;
        public double getStartX() {
            return startX;
        }
        public void setStartX(double startX) {
            this.startX = startX;
        }
        public double getStartY() {
            return startY;
        }
        public void setStartY(double startY) {
            this.startY = startY;
        }
        PlainRect(double width,double height,double startX,double startY)
        {
            this.width=width;
            this.height =height;
            this.startX=startX;
            this.startY=startY;
        }
    
        PlainRect()
        {
            width=0;
            height=0;
            startX=0;
            startY=0;
        }
        public boolean  isInside(double x,double y)
        {
            if(x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    public class CeshiPlainRect {
    
        public static void main(String[] args) {
            PlainRect p=new PlainRect(10,20,10,10);
            p.area();
            p.perimeter();
            System.out.println(p.isInside(25.5, 13));
    
        }
    
    }

  • 相关阅读:
    bzoj千题计划108:bzoj1018: [SHOI2008]堵塞的交通traffic
    bzoj千题计划106:bzoj1014 [JSOI2008]火星人prefix
    2017 清北济南考前刷题Day 7 morning
    2017 清北济南考前刷题Day 7 afternoon
    2017 清北济南考前刷题Day 6 afternoon
    2017 清北济南考前刷题Day 6 morning
    2017 清北济南考前刷题Day 5 afternoon
    怎么样在线创建索引或者重构索引
    10g RAC常用开启关闭命令 – SRVCTL用法
    安装Oracle 10g RAC是否需要安装HACMP
  • 原文地址:https://www.cnblogs.com/jskbk/p/5521303.html
Copyright © 2011-2022 走看看