关于java中判断一个点是否在一个长方形内和一个长方形是否包含另一个长方形或者两个相重叠的问题。

关于java中判断一个点是否在一个长方形内和一个长方形是否包含另一个长方形或者两个相重叠的问题。,第1张

 

 

案例代码 

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

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/733762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存