矩形

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

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

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

两个构造方法:

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

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

两个方法:

求矩形面积的方法area()

求矩形周长的方法perimeter()

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

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

添加两个属性:矩形左上角坐标startX和startY。

两个构造方法:

带4个参数的构造方法,用于对startX、startY、width和height属性

初始化;

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

的矩形;

添加一个方法:

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

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

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

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

(3)编写PlainRect类的测试程序

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

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

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

 

 

package zuoye;

 

public class Rect {

    //属性

    double width;

    double height;

     

    //有参的构造方法

    public  Rect(double width,double height)

    {

        this.width=width;

        this.height=height;

    }

    public Rect()

    {

        this.width=10;

        this.height=10;

    }

     

    //自定义成员方法      面积

    public double area(){

        double area;

        area=width*height;

        return area;

    }

    //周长

    public double perimeter(){

        double perimeter;

        perimeter=(width+height)*2;

        return perimeter;

    }

     

    //通过属性生成的get,set成员方法

    public double getWidth() {

        return width;

    }

    public void setWidth(double width) {

        this.width = width;

    }

    public double getHeight() {

        return height;

    }

    public void setHeight(double height) {

        this.height = height;

    }

     

 

 

package zuoye;

 

public class PlainRect extends Rect {

     

    private int startX;

    private int startY;

     

    //有参的构造方法

    public PlainRect(int startX,int startY,double width,double height)

    {

        this.startX=startX;

        this.startY=startY;

        this.width=width;

        this.height=height;

    }

    public PlainRect(double startX,double startY)

    {

         

        System.out.println("这个点的坐标是x="+startX+"y="+startY);

    }

    //无参的构造方法

    public PlainRect()

    {

        this.startX=0;

        this.startY=0;

        this.width=0;

        this.height=0;

    }

    //成员方法

     

    //判断是否在矩形内部

    public boolean isInside(double x,double y)

    {

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

        {

            return true;

        }

        else

        {

            return false;

        }

    }

 

}   

 

}

 

 

package zuoye;

 

public class Ceshi_PlainRect {

 

    public static void main(String[] args) {

        //通过PlainRect中有参的构造方法创建矩形

        PlainRect pr=new PlainRect(10,10,10,20);

        //调用父类中的面积方法

        System.out.println("10x20的矩形面积="+pr.area());

        //周长

        System.out.println("10x20的矩形周长="+pr.perimeter());

         

        //定义一个点的的坐标

        PlainRect pr1=new PlainRect(25.5,13);

         

        //判断点的坐标

        if(pr.isInside(25.5, 13)==true)

        {

            System.out.println("这个点在矩形内");

        }

         

        else

        {

            System.out.println("不在矩形内");

        }

 

    }

 

}矩形_第1张图片

package  zuoye;
 
public  class  Rect {
     //属性
     double  width;
     double  height;
     
     //有参的构造方法
     public   Rect( double  width, double  height)
     {
         this .width=width;
         this .height=height;
     }
     public  Rect()
     {
         this .width= 10 ;
         this .height= 10 ;
     }
     
     //自定义成员方法      面积
     public  double  area(){
         double  area;
         area=width*height;
         return  area;
     }
     //周长
     public  double  perimeter(){
         double  perimeter;
         perimeter=(width+height)* 2 ;
         return  perimeter;
     }
     
     //通过属性生成的get,set成员方法
     public  double  getWidth() {
         return  width;
     }
     public  void  setWidth( double  width) {
         this .width = width;
     }
     public  double  getHeight() {
         return  height;
     }
     public  void  setHeight( double  height) {
         this .height = height;
     }
     
     
 
}

转载于:https://www.cnblogs.com/smile-dream/p/5892270.html

你可能感兴趣的:(矩形)