写两个类,三角形类(Triangle)、测试类(TriangleTest)。 (1)三角形类(Triangle) 一个成员方法:用于判断三角形三条边是否能构成一个三角形void sanjiao(int a,int b,int c)。如果不能构成三角形,则抛出异常IllegalArgumentException并显示异常信息“a,b,c不能构成三角形”,如果可以构成三角形则显示三角形三个边的边长和三角形的周长、面积。 (2)测试类(TriangleTest) 实例化对象,通过键盘接收三角形的三条边,调用sanjiao方法并捕获处理异常。
时间: 2023-06-02 08:05:55 浏览: 194
好的,我知道了。以下是根据您要求编写的代码:
三角形类(Triangle):
```
public class Triangle {
public void sanjiao(int a, int b, int c) throws IllegalArgumentException {
if (a+b <= c || a+c <= b || b+c <= a) {
throw new IllegalArgumentException(a + ", " + b + ", " + c + " 不能构成三角形");
} else {
double p = (a + b + c) / 2;
double area = Math.sqrt(p*(p-a)*(p-b)*(p-c));
System.out.println("三角形三边分别为:" + a + ", " + b + ", " + c);
System.out.println("三角形的周长为:" + (a + b + c));
System.out.println("三角形的面积为:" + area);
}
}
}
```
测试类(TriangleTest):
```
import java.util.Scanner;
public class TriangleTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("输入三角形三边的长度:");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
Triangle triangle = new Triangle();
try {
triangle.sanjiao(a, b, c);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
以上代码可以实现您要求的功能,如果输入的三个数无法构成三角形,程序会抛出IllegalArgumentException并显示异常信息,如果可以构成三角形,则会输出三角形的三边长度、周长和面积。前提是输入的三个数都是正整数或者正小数。
阅读全文