(JAVA)定义一个Circle2D类,包括:两个带有get方法的名为x和y的double型数据域,表明园的中心点; 80
定义一个Circle2D类,包括:两个带有get方法的名为x和y的double型数据域,表明园的中心点;一个带get方法的数据域radius;一个无参数构造方法,该方法创...
定义一个Circle2D类,包括:
两个带有get方法的名为x和y的double型数据域,表明园的中心点;
一个带get方法的数据域radius;
一个无参数构造方法,该方法创建一个中心点(x,y)值为(0,0)且radius为1的默认圆;
一个构造方法,创建指定的x,y和radius的圆;
一个返回圆面积的方法getArea();
一个返回圆周长的方法getPerimeter();
如果给定的点(x,y)在这个圆内,那么方法contains(doubel x, double y)返回true;
如果给定的圆在这个圆内,那么方法contains(Circle2D circle)返回true;
如果给定的圆和这个圆重叠,那么方法overlaps(Circle2D circle)返回true。
实现这个类。编写测试程序,创建一个Circle2D对象c1,其中心点在(2,2),半径为5.5,显示它的面积和周长。同时,检查点(3,3)
是否位于这个圆的内部。然后,再检查另一个圆(中心点为(4,5),半径为10.5)是否位于这个圆的内部。之后,再检查另一个圆(中心点为(3,5),
半径为2.3)是否和这个圆重叠。 展开
两个带有get方法的名为x和y的double型数据域,表明园的中心点;
一个带get方法的数据域radius;
一个无参数构造方法,该方法创建一个中心点(x,y)值为(0,0)且radius为1的默认圆;
一个构造方法,创建指定的x,y和radius的圆;
一个返回圆面积的方法getArea();
一个返回圆周长的方法getPerimeter();
如果给定的点(x,y)在这个圆内,那么方法contains(doubel x, double y)返回true;
如果给定的圆在这个圆内,那么方法contains(Circle2D circle)返回true;
如果给定的圆和这个圆重叠,那么方法overlaps(Circle2D circle)返回true。
实现这个类。编写测试程序,创建一个Circle2D对象c1,其中心点在(2,2),半径为5.5,显示它的面积和周长。同时,检查点(3,3)
是否位于这个圆的内部。然后,再检查另一个圆(中心点为(4,5),半径为10.5)是否位于这个圆的内部。之后,再检查另一个圆(中心点为(3,5),
半径为2.3)是否和这个圆重叠。 展开
2个回答
展开全部
public static double distance(double x,double y,Circle2D c1){
return Math.sqrt((x -c1.getX()) * (x-c1.getX()) + (y-c1.getY() ) * (y-c1.getY()));
}
public boolean contains(double x, double y){
double d=distance(x, y, this);
System.out.println(d);
return d<=radius;
}
return Math.sqrt((x -c1.getX()) * (x-c1.getX()) + (y-c1.getY() ) * (y-c1.getY()));
}
public boolean contains(double x, double y){
double d=distance(x, y, this);
System.out.println(d);
return d<=radius;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class Circle2D{
double x=0,y=0,radius=1;
public double getX(){
return x;
}
public double getY(){
return y;
}
public double getRadius(){
return radius;
}
Circle2D(){
}
Circle2D(double x,double y,double radius){
this.x=x;
this.y=y;
this.radius=radius;
}
public double getArea(){
return radius*radius*Math.PI;
}
public double getPrimeter(){
return 2*radius*Math.PI;
}
public boolean contains(double x,double y){
double d=Math.pow(x*x+y*y,0.5);
return d<radius?true:false;
}
public boolean contains(Circle2D circle){
return this.radius>circle.radius&&this.getArea()>circle.getArea()?true:false;
}
public boolean overlaps(Circle2D circle){
return this.radius+circle.radius<2*this.radius?true:false;
}
public static void main(String[] args){
Circle2D c1=new Circle2D(2,2,5.5);
c1.getArea();
c1.getPrimeter();
c1.contains(3, 3);
Circle2D c2=new Circle2D(4,5,10.5);
c1.contains(c2);
Circle2D c3=new Circle2D(3,5,2.3);
c1.contains(c3);
System.out.println("c1的面积为:"+c1.getArea()+" c1的周长为:"+c1.getPrimeter());
System.out.println("点(3,3)在圆c1内吗(是为true,不是为否)? "+c1.contains(3, 3));
System.out.println("圆c2在圆c1内吗(是为true,不是为否)? "+c1.contains(c2));
System.out.println("圆c3和圆c1重叠吗(是为true,不是为否)? " +c1.overlaps(c3));
}
}
double x=0,y=0,radius=1;
public double getX(){
return x;
}
public double getY(){
return y;
}
public double getRadius(){
return radius;
}
Circle2D(){
}
Circle2D(double x,double y,double radius){
this.x=x;
this.y=y;
this.radius=radius;
}
public double getArea(){
return radius*radius*Math.PI;
}
public double getPrimeter(){
return 2*radius*Math.PI;
}
public boolean contains(double x,double y){
double d=Math.pow(x*x+y*y,0.5);
return d<radius?true:false;
}
public boolean contains(Circle2D circle){
return this.radius>circle.radius&&this.getArea()>circle.getArea()?true:false;
}
public boolean overlaps(Circle2D circle){
return this.radius+circle.radius<2*this.radius?true:false;
}
public static void main(String[] args){
Circle2D c1=new Circle2D(2,2,5.5);
c1.getArea();
c1.getPrimeter();
c1.contains(3, 3);
Circle2D c2=new Circle2D(4,5,10.5);
c1.contains(c2);
Circle2D c3=new Circle2D(3,5,2.3);
c1.contains(c3);
System.out.println("c1的面积为:"+c1.getArea()+" c1的周长为:"+c1.getPrimeter());
System.out.println("点(3,3)在圆c1内吗(是为true,不是为否)? "+c1.contains(3, 3));
System.out.println("圆c2在圆c1内吗(是为true,不是为否)? "+c1.contains(c2));
System.out.println("圆c3和圆c1重叠吗(是为true,不是为否)? " +c1.overlaps(c3));
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询