题目:

设计一个名为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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Christopherwa/article/details/124940582