Rectangle.java
public class Rectangle {
private double x,y,width,height;
public void setX(double x){
this.x=x;
}
public double getX(){
return x;
}
public void setY(double y){
this.y=y;
}
public double getY(){
return y;
}
public void setWidth(double width){
if(width<=0)
this.width=0;
else
this.width=width;
}
public double getWidth(){
return width;
}
public void setHeight(double height){
if(height<=0)
height=0;
else
this.height=height;
}
public double getHeight(){
return height;
}
}
Circle.java:
public class Circle {
private double x,y,radius;
public void setX(double x){
this.x=x;
}
public double getX(){
return x;
}
public void setY(double y){
this.y=y;
}
public double getY(){
return y;
}
public void setRadius(double radius){
if(radius<0)
this.radius=0;
else
this.radius=radius;
}
public double getRadius(){
return radius;
}
}
Geometry.java:
public class Geometry {
private Rectangle rect;
private Circle circle;
Geometry(Rectangle rect,Circle circle){
this.rect=rect;
this.circle=circle;
}
public void setCirclePosition(double x,double y){
circle.setX(x);
circle.setY(y);
}
public void setCircleRadius(double radius){
circle.setRadius(radius);
}
public void setRectanglePosition(double x,double y){
rect.setX(x);
rect.setY(y);
}
public void setRectangleWidthAndHeight(double w,double h){
rect.setWidth(w);
rect.setHeight(h);
}
public void showState(){
double circleX=circle.getX();
double rectX=rect.getX();
if(rectX-circleX==circle.getRadius()*2)
System.out.println("图中的图形在圆的右侧");
if(circleX-rectX==rect.getWidth())
System.out.println("图中的圆形在圆的左侧");
}
}
MainClass.java:
public class MainClass {
public static void main(String args[]){
Rectangle rect1=new Rectangle(), rect2=new Rectangle();
Circle circle1=new Circle(), circle2=new Circle();
Geometry geometryOne,geometrytwo;
geometryOne=new Geometry(rect1,circle1);
geometryOne.setRectanglePosition(30,40);
geometryOne.setRectangleWidthAndHeight(120,80);
geometryOne.setCirclePosition(150,30);
geometryOne.setCircleRadius(60);
geometrytwo=new Geometry(rect2,circle2);
geometrytwo.setRectanglePosition(30,40);
geometrytwo.setRectangleWidthAndHeight(120,80);
geometrytwo.setCirclePosition(40,30);
geometrytwo.setCircleRadius(60);
geometryOne.showState();
geometrytwo.showState();
}
}