定义一个方法,求三角形面积,即getArea Cint a,int b,int c。三用形的三条边由数组元素接收,来自键盘的输人。当数据类型不匹配时,抛出异常;当效据个效不满足要求时,抛出昇常;当三条边的值不能构成三角形时,抛出异常。 步骤: (1)定义方法 void triangle (int a, int b, int c) ; (2)不符合条件,则抛出异常,如 (if a+b<=C(或 ac<=b,b+c<=a) then throw new IllegalArgumentException (),); (3)在main 方法中调用triangle方法,用try...catch...finally语句捕获昇常。
时间: 2024-02-24 15:54:45 浏览: 47
好的,以下是你所需的代码:
```java
import java.util.Scanner;
public class TriangleArea {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("请输入三角形的三条边长:");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
getArea(a, b, c);
} catch (IllegalArgumentException e) {
System.out.println("输入的三条边不能构成三角形!");
} catch (Exception e) {
System.out.println("输入的数据类型不匹配!");
} finally {
scanner.close();
}
}
public static void getArea(int a, int b, int c) {
if (a + b <= c || a + c <= b || b + c <= a) {
throw new IllegalArgumentException();
}
double p = (a + b + c) / 2.0;
double area = Math.sqrt(p * (p - a) * (p - b) * (p - c));
System.out.println("三角形的面积为:" + area);
}
}
```
在这段代码中,我们定义了一个 `getArea` 方法来计算三角形的面积,同时在方法内部进行了一系列判断,抛出异常或计算面积。在 `main` 方法中,我们接收三个整数作为三角形的三条边长,并调用 `getArea` 方法来计算面积。同时,我们使用了 `try...catch...finally` 语句来捕获可能出现的异常,并在最终关闭了 `Scanner` 对象,以确保程序的健壮性和资源的释放。
阅读全文