java Circle类的问题
//实现一个Circle类,该类包含表示圆心的Point型变量center,
//表示半径的int  radius变量,以及构造方法Circle()、Circle(int xx,int yy,int r)、Circle(Point c,int r),
//返回周长和面积的int perimeter()、double area()方法,
//返回两个圆是否为同一个圆(返回0)、同心圆(返回1)、相交的圆(返回2)、分离的圆(返回3)、
//包含的圆(返回4)等关系的int relation(Circle c)等方法。PI值可以用Math.PI常量。
class Point{             //点类的定义
	int x,y;
	Point(){
		x=0;y=0;                     //Point类中的构造函数
	}
	Point(int xx,int yy){
		this.x=xx;                   //this不加也可运行
		this.y=yy;
	}
     int getX(){                       //后面用到了
         return x;
     }
     int getY(){
         return y;
     }
      double distance(Point p){          //对象小写,类大写
         return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));         //用来求两点之间距离
     }
}
class Circle{                           //圆类的定义
     int radius=0;
     //int x,y;                          //Point类型 圆心跟着Point走 不用再次定义x,y
	Point center;                       //定义点类的圆心
	Circle(){
		radius=1;                       //圆类的构造函数
		center=new Point();             //申请空间
	}
	Circle(int xx,int yy,int r){
		radius=r;
		center=new Point(xx,yy);         //因为没有定义Circle中的x,y;所以直接引用Point的构造函数即可
	}
	Circle(Point c,int r){
		radius=r;
	    center=c;
	}
	double perimeter()
	{
			return 2*3.14*radius;                //以刚开始声明的radius为准
	}
	double area()
	{
			return 3.14*radius*radius;
	}
	int relation(Circle c)
	{
			int cx = c.center.getX();           //得到圆的圆心的横坐标
             int cy = c.center.getY();
             int cr = c.radius;
             int tx = this.center.getX();
             int ty = this.center.getY();
             Point myPoint=new Point();             //只创建对象,无需赋值,给了数也没有用
             Point point1=new Point();
             double distance1 = myPoint.distance(point1);   //定义圆心距,圆心与圆心之间的距离,的通过对象调用distance;
                                                            //对象是类的实体,只有通过对象才能调用类
             if(cx == tx && cy == ty && cr == radius) {
             return 0;                         //同一个圆
             } else if(cx ==tx && cy==ty) {
             return 1;                         //同心圆
             } else if(distance1 ==(cr+radius)) {
             return 2;                         //相交的圆
             } else if(distance1 > (cr+radius)) {
             return 3;                         //分离的圆
             } else if(distance1 < (cr+radius)) {
             return 4;                         //包含的圆
             }
             else
             return 5;
	}
}
class Sun{
		public static void main(String[] args){
			double a,b,flag;
			Circle circle1=new Circle(12,12,4);      //用来预备着求圆的位置关系的
			Circle circle2=new Circle(3,12,5);
			a=circle1.perimeter();                 //上面改成无参的了
			b=circle1.area();
			flag=circle1.relation(circle2);
			if(flag==0)
				System.out.println("两个圆的关系是:两个圆为同一个圆");
			if(flag==1)
				System.out.println("两个圆的关系是:两个圆为同心圆");
			if(flag==2)
				System.out.println("两个圆的关系是:两个圆为相交的圆");
			if(flag==3)
				System.out.println("两个圆的关系是:两个圆为分离的圆");
			if(flag==4)
				System.out.println("两个圆的关系是:两个圆为包含的圆");
			if(flag==5)
				System.out.println("两个圆的关系是:两个圆不是特有的关系");
			System.out.println("圆的周长是:"+a);
			System.out.println("圆的面积是:"+b);
			}
}
好像distance函数始终无法调用,就是只是输出包含关系,不输出相交和分离,求高手指点!
------解决方案--------------------
你其他地方的代码也有问题,下面是我改了的,有5种基本关系,对于同心圆和相等的这种情况我没有处理,你可以考虑添加