题目:
设计一个名为Rectangle的矩形类,并实现Comparable接口,这个类包括:
(1)两个名为width和height的double数据域,它们分别表示矩形的宽和高;
(2)Rectangle的无参构造方法,width和height的默认值都为1;
(3)Rectangle的有参构造方法,用width和height为指定值构造一个矩形;
(4)一个名为getArea()的函数返回矩形的面积;
(5)一个名为getPerimeter()的函数返回矩形的周长;
(6)compareTo(Rectangle a)方法用于比较和给定矩形的面积。
编写一个测试程序,创建一个Rectangle对象,从键盘输入矩形的宽和高,然后输出矩形的面积和周长,再创建一个矩形对象,并比较两个矩形的大小,输出结果。
Rectangle类:
package Rectangle;
public class Rectangle implements Comparable<Rectangle>{
private double width;
private double height;
public Rectangle() {
this(1, 1);
}
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getArea() {
return width * height;
}
public double getPerimeter() {
return 2 * (width + height);
}
@Override
public int compareTo(Rectangle o) {
if (getArea() >= o.getArea()) {
return 1;
} else {
return 0;
}
}
}
RectangleTest类:
package Rectangle;
import static org.junit.jupiter.api.Assertions.*;
import java.util.Scanner;
import org.junit.jupiter.api.Test;
class RectangleTest {
@Test
void test() {
Scanner input = new Scanner(System.in);
System.out.println("Please enter width and height:");
double width = input.nextDouble();
double height = input.nextDouble();
Rectangle rectangle1 = new Rectangle(width, height);
System.out.println("area " + rectangle1.getArea());
System.out.println("Perimeter " + rectangle1.getPerimeter());
Rectangle rectangle2 = new Rectangle();
System.out.println(rectangle1.compareTo(rectangle2));
}
}
版权声明:本文为Christopherwa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。