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));
    
        }
    
    }

  • 相关阅读:
    codeforces 650B
    2013 ACM区域赛长沙 H zoj 3733 (hdu 4798) Skycity
    2013 ACM区域赛长沙 I LIKE vs CANDLE(ZOJ3734) 很好的一道树形DP
    Codeforces Round #306 (Div. 2)——A——Two Substrings
    Codeforces Round #306 (Div. 2)——B暴力——Preparing Olympiad
    HDU5248——二分查找——序列变换
    HDU2255——KM算法——奔小康赚大钱
    匈牙利算法&KM算法
    HDU1059——多重部分和问题——Dividing
    HDU1058——Humble Numbers
  • 原文地址:https://www.cnblogs.com/jskbk/p/5521303.html
Copyright © 2011-2022 走看看