设计程序能够计算键盘以逗号隔开输入三条边的三角形的面积。其中,对输入的数据使用异常进行约束,假如输入的数据类型错误则进行“类型错误”的异常处理。假如输入的三条边不能够满足三角形的组成,则抛出自定义的异常类并进行处理。当输入数据都正确时,使用面向对象的编程计算三角形的面积。
时间: 2024-05-03 19:16:26 浏览: 98
编写一个程序,输入三角形的三条边的边长,求三角形的面积。
好的,我可以帮你解答这个问题。这里是一个Python的程序示例,用于计算三角形面积并处理异常:
```python
import math
class TriangleError(Exception):
def __init__(self, message):
self.message = message
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def get_area(self):
if not isinstance(self.a, (int, float)) or not isinstance(self.b, (int, float)) or not isinstance(self.c, (int, float)):
raise TypeError("类型错误")
if self.a + self.b <= self.c or self.a + self.c <= self.b or self.b + self.c <= self.a:
raise TriangleError("无法构成三角形")
p = (self.a + self.b + self.c) / 2
area = math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c))
return area
try:
a, b, c = map(float, input("请输入三角形三边长度,以逗号隔开:").split(','))
triangle = Triangle(a, b, c)
area = triangle.get_area()
print("三角形的面积为:", area)
except ValueError:
print("类型错误")
except TriangleError as e:
print(e.message)
```
这个程序使用了面向对象的编程方式,定义了一个Triangle类来表示三角形。当输入的数据类型错误时,会抛出一个TypeError异常;当输入的三条边无法构成三角形时,会抛出一个自定义的TriangleError异常。否则,程序会计算并输出三角形的面积。
你可以在自己的电脑上运行这个程序,看看它是如何工作的。希望对你有所帮助!
阅读全文