日期:2014-05-20 浏览次数:21229 次
//要改的地方不少,构造方法都要改
class Circle{
Point yuanxin;
double radius;
final double PI = 3.14; //一个圆自身的属性
Circle(Point p,double r){
yuanxin = p;
radius = r;
} //构造方法构造一个圆心和半径
Circle(double r){
yuanxin = new Point(0,0);
radius = r;
} //想构造一个以圆心为原点的圆
void compute(){
double zhou;
zhou=2*PI*radius;
System.out.println("圆的周长是"+zhou);
}
void aera(){
double mianji;
mianji=PI*radius*radius;
System.out.println("圆的面积是"+mianji);
} //这部分基本没用上,只是想表达圆而已
boolean contains(Point p){ //这部分有问题,我不知道boolean怎么用???
if(((p.x-yuanxin.x)*(p.x-yuanxin.x) +(p.y-yuanxin.y)*(p.y-yuanxin.y)) <= radius*radius){
System.out.println(p.x+" "+p.y+" "+yuanxin.x+" "+yuanxin.y+" "+radius);
System.out.println("这个点在圆内");
return true;
}else{
System.out.println(p.x+" "+p.y+" "+yuanxin.x+" "+yuanxin.y+" "+radius);
System.out.println("这个点不在园内");
return false;
}
}
}
class Point{
double x;
double y;
Point(double x,double y){
this.x = x;
this.y = y;
}
}
public class TestCircle {
public static void main(String args[]){
Circle c1=new Circle(3); //以原点为圆心
Point p1=new Point(2,4);
System.out.println(c1.contains(p1));
Point p2=new Point(2,4);
Circle c2=new Circle(p2,1);
Point p3=new Point(1,2);
System.out.println(c2.contains(p3));
}
}