设计一个长方形类,成员变量包括长和宽。类中有计算面积和周长的方法,并有相应的set方法和get方法设置和获得长和宽。编写测试类测试是否达到预定功能。要求使用自定义的包。
时间: 2024-09-12 07:06:25 浏览: 80
好的,我们可以首先创建一个名为`Rectangle`的Java类,它代表一个长方形,包含长度(length)和宽度(width)作为成员变量。同时,我们需要提供set和get方法来设置和获取这些值,以及计算面积和周长的方法。
```java
// 创建一个名为com.example.geometry的自定义包
package com.example.geometry;
public class Rectangle {
// 成员变量
private double length;
private double width;
// 构造函数
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// 设置方法
public void setLength(double length) {
this.length = length;
}
public void setWidth(double width) {
this.width = width;
}
// 获取方法
public double getLength() {
return length;
}
public double getWidth() {
return width;
}
// 计算面积的方法
public double calculateArea() {
return length * width;
}
// 计算周长的方法
public double calculatePerimeter() {
return 2 * (length + width);
}
}
```
接下来,我们创建一个测试类`RectangleTest`来验证这个`Rectangle`类的功能:
```java
package com.example.geometry;
import org.junit.Test;
import static org.junit.Assert.*;
public class RectangleTest {
@Test
public void testRectangle() {
// 创建一个长方形实例
Rectangle rectangle = new Rectangle(5, 3);
// 测试面积和周长
assertEquals(15, rectangle.calculateArea(), 0.0001); // 面积应该是15
assertEquals(16, rectangle.calculatePerimeter(), 0.0001); // 周长应该是16
// 修改尺寸并再次检查
rectangle.setLength(7);
rectangle.setWidth(2);
assertEquals(14, rectangle.calculateArea(), 0.0001); // 面积应该是14
assertEquals(18, rectangle.calculatePerimeter(), 0.0001); // 周长应该是18
}
}
```
在这个例子中,`RectangleTest`中的`@Test`注解表明这是一个JUnit测试用例。我们创建了一个`Rectangle`对象,并用预设的长度和宽度进行计算,然后修改了尺寸再做第二次计算,确保计算结果正确。
阅读全文