案例代码
import java.util.Scanner;
public class rhh {
public static void main(String[] args){
MyRectangle2D rl=new MyRectangle2D(2,2,5.5,4.9);
System.out.println(rl.getArea()+" "+rl.getPerimeter());
System.out.println(rl.contains(3,3)+" "+rl.contains(new MyRectangle2D(4,5,10,3.2)));
System.out.println(rl.overlaps(new MyRectangle2D(3,5,2.3,5.4)));
}
}
public class MyRectangle2D {
double x,y,width,height;
MyRectangle2D()
{
x=0;
y=0;
width=1;
height=1;
}
public MyRectangle2D(double x,double y,double width,double height)
{
this.x=x;
this.y=y;
this.width=width;
this.height=height;
}
public void setHeight(double height)
{
this.height=height;
}
public void setWidth(double width)
{
this.width=width;
}
double getArea()
{
return width*height;
}
double getPerimeter()
{
return (width+height)*2;
}
boolean contains(double x,double y)
{
return (Math.abs(this.x-x))<width && (Math.abs(this.y-y))<height;
}
boolean contains(MyRectangle2D r)
{
if(r.x+r.width/2<=this.x+this.width/2)
if(r.x-r.width/2>=this.x-this.width/2)
if(r.y+r.height/2<=this.y+this.height/2)
if(r.y-r.height/2>=this.y-this.height/2)
return true;
return false;
}
boolean overlaps(MyRectangle2D r)
{
if(r.x+r.width/2>this.x+this.width/2||r.x-r.width/2<this.x-this.width/2||r.y+r.height/2>this.y+this.height/2||r.y-r.height/2<this.y-this.height/2)
return true;
return false;
}
public double getX()
{
return x;
}
public double getY()
{
return y;
}
public double getWidth()
{
return width;
}
public double getHeight()
{
return height;
}
}