java编写三角形问题_软件测试实验1:为三角形问题编写一个Java程序,并用Junit测试程序...
时间: 2024-02-17 11:04:30 浏览: 96
好的,我可以为您解答关于Java编写三角形问题以及软件测试实验1的问题。
首先,三角形问题是一个经典的计算几何问题,它要求根据给定的三边长度判断这三边能否构成一个三角形,以及能够构成何种类型的三角形。在Java中,我们可以编写一个类来解决这个问题,例如:
```java
public class Triangle {
public static String getType(int a, int b, int c) {
if (a <= 0 || b <= 0 || c <= 0) {
return "不是三角形";
}
if (a + b <= c || a + c <= b || b + c <= a) {
return "不是三角形";
}
if (a == b && b == c) {
return "等边三角形";
}
if (a == b || b == c || a == c) {
return "等腰三角形";
}
return "普通三角形";
}
}
```
在上面的代码中,我们用了一个静态方法getType来判断三角形的类型。它接受三个参数a、b、c分别表示三边的长度,并返回一个字符串表示三角形的类型。
接下来,我们可以使用JUnit框架对这个类进行测试。JUnit是一个用于Java编程语言中的单元测试框架,它可以让我们更方便地测试我们编写的代码是否符合预期。
例如,我们可以编写如下的测试代码:
```java
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class TriangleTest {
@Test
public void testGetType() {
assertEquals("等边三角形", Triangle.getType(3, 3, 3));
assertEquals("等腰三角形", Triangle.getType(3, 3, 4));
assertEquals("普通三角形", Triangle.getType(3, 4, 5));
assertEquals("不是三角形", Triangle.getType(-1, 2, 3));
assertEquals("不是三角形", Triangle.getType(1, 2, 3));
assertEquals("不是三角形", Triangle.getType(1, 1, 2));
}
}
```
在上面的代码中,我们使用了JUnit的@Test注解标记了一个测试方法testGetType,然后在这个方法中调用了Triangle类的getType方法,并使用assertEquals来断言其返回值是否和预期值相同。
最后,我们可以使用Eclipse等Java开发环境来运行这个测试方法,以便确认我们编写的代码是否符合预期。
阅读全文