本项目旨在创建一个基础的圆类,包含定义圆的基本属性(如半径、直径、面积和周长)以及提供计算和修改这些属性的方法。适合初学者学习面向对象编程的概念。
实验内容:
一、定义一个名为Circle的圆类,位于shape包中。要求如下:
1. 该类需要描述圆在二维坐标系中的位置,圆心的横纵坐标值均取整数;描述圆的半径,取双精度类型。
2. 圆类应包含无参构造方法将圆心坐标设为坐标原点(0,0),半径设为1.0。同时提供有参构造方法根据参数设置圆心坐标和半径值。
3. 类中需实现一个计算圆面积的方法double getArea()。
4. 提供判断当前圆对象与另一个给定的圆对象是否相交的方法,返回类型为boolean: boolean isIntersected(Circle another)。
5. 实现方法用于检查当前圆对象是否包含另一参数指定的圆形对象,该方法也应返回一个布尔值: boolean contains(Circle another)。
6. 提供比较两个圆大小关系的方法(依据半径),如果两者的半径差小于0.0001则认为相等;此方法需返回负数、零或正数以表示当前对象比另一个小、等于或者大于另一对象: int compareTo(Circle another)。
7. 实现一个toString()方法,用于生成描述圆的字符串形式,格式为[Circle(x,y)-radius]。
二、创建包含main方法的类TestCircle,位于shape包中。要求如下:
1. 在主函数(main)内调用以下功能。
2. 编写静态方法createArray以随机位置和大小生成十个圆形对象,并将它们放入数组中。
3. 实现静态方法sort用于对这十圆进行升序排序并输出结果。
4. 创建一个静态方法computeArea来计算这些互不相交或包含的10个圆体面积之总和。
提交要求:打包源程序文件为可执行JAR文档。