作业帮 > 综合 > 作业

求java程序代码 circle类

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 02:58:02
求java程序代码 circle类
1.属性,圆心(x,y),半径(r) 都取double类型
2.定义一个无参构造法
3.定义一个三个参数的构造
4.定义一个求该圆面积的方法
5.定义一个求该圆周长的方法
6.定义一个方法,传入一个圆,判断该圆与传入圆相交,相切还是相容
7.建一个测试类TestCircle 测试以上函数
求java程序代码 circle类
public class Circle {
 double x,y,r;
 //无参构造方法
 public Circle() {}
 //三个参数的构造方法
 public Circle(double x, double y, double r) {
  this.x = x;
  this.y = y;
  this.r = r;
 }
 
 //求面积的方法,返回面积值
 public double getArea() {
  //求圆的面积
  double s = 3.14*r*r;
  return s;
 }
 
 //求周长的方法
 public double getPerimeter() {
  double l = 3.14*r*2;
  return l;
 }
 
 //判断是否相交
 public String getStatus(Circle c) {
  //判断
  //通过两圆的圆心距当圆心距小于两圆半径之差时 两圆内含
  //当圆心距等于两圆半径之差时 两圆内切
  //当圆心距小于两圆半径之和 大于半径之差时 两圆相交
  //当圆心距等于两圆半径之和时 两圆外切
  //当圆心距大于两圆半径之和时 两圆外离
  String result = "";
  double l = Math.sqrt((x-c.x)*(x-c.x)+(y-c.y)*(y-c.y));
  if(l > r+c.r) {
   result = "相离";
  }else if(l == r+c.r) {
   result = "外切";
  }else if(l < r+c.r && l > r+c.r) {
   result = "相交";
  }else if(l == Math.abs(r-c.r)) {
   result = "内切";
  }else {
   result = "内含";
  }
  return result;
 }
 
}

public class TestCircle {

 public static void main(String[] args) {

  Circle c1 = new Circle(5, 5, 5); 

        Circle c2 = new Circle(1, 2, 3); 

        //面积 

        System.out.println(c1.getArea()); 

        //周长 

        System.out.println(c2.getPerimeter()); 

        //状态 

        System.out.println(c1.getStatus(c2));

 }

}