4.编程实现一个三角形类,从命令行输入三边的长度,计算三角形的面积。采用异常处理方式判断三边是否能构成一个三角形,如果不能抛出 “IllegalArgumentException” 异常,显示“三边不能构成三角形”。
时间: 2024-02-23 08:59:20 浏览: 57
C语言实验-从键盘输入三角形三个边的长度,计算该三角形的面积。若输入的三条边不能构成三角形。则直接输出信息“不能构成三角形!”
5星 · 资源好评率100%
好的,以下是实现该三角形类的Python代码:
```python
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def area(self):
s = (self.a + self.b + self.c) / 2
return math.sqrt(s * (s - self.a) * (s - self.b) * (s - self.c))
@staticmethod
def is_valid(a, b, c):
if a + b > c and b + c > a and c + a > b:
return True
else:
return False
if __name__ == '__main__':
try:
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
if Triangle.is_valid(a, b, c):
t = Triangle(a, b, c)
print("三角形的面积为:", t.area())
else:
raise ValueError("三边不能构成三角形")
except ValueError as e:
print(e)
```
在这个实现中,我们使用了 `math` 模块中的 `sqrt` 函数来计算三角形的面积,同时定义了一个 `is_valid` 静态方法来判断三条边是否能够构成一个三角形。在 `main` 函数中,我们首先通过 `input` 函数获取用户输入的三条边长,并判断是否能够构成一个三角形。如果能够构成三角形,我们创建一个 `Triangle` 对象,并调用其 `area` 方法来计算面积。如果不能构成三角形,则抛出一个 `ValueError` 异常,提示用户输入的三边不能构成三角形。
阅读全文