使用C#设计一个三角形类Triangle,包含以下成员:边长a,b,c,计算三角形面积的函数double GetArea();程序随机生成3条边长数值并计算面积,控制台输出,分析可能的异常并处理。
时间: 2024-09-19 10:13:59 浏览: 54
在C#中,我们可以创建一个名为`Triangle`的类,用于表示三角形,并包含边长属性和计算面积的方法。首先,我们需要定义一个类,设置边长私有变量并提供公共访问器:
```csharp
public class Triangle
{
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c)
{
if (a + b <= c || a + c <= b || b + c <= a) // 检查是否构成有效三角形
throw new ArgumentException("Invalid triangle sides"); // 异常处理
this.a = a;
this.b = b;
this.c = c;
}
public double GetArea()
{
double s = (a + b + c) / 2; // 半周长
return Math.Sqrt(s * (s - a) * (s - b) * (s - c)); // Heron's formula for area
}
}
```
接下来,我们可以编写一个测试方法来随机生成边长、创建三角形实例并计算面积:
```csharp
static void Main(string[] args)
{
Random random = new Random();
try
{
double a = random.Next(1, 100); // 随机生成1到99之间的整数作为边长
double b = random.Next(1, 100);
double c = random.Next(1, 100);
Triangle triangle = new Triangle(a, b, c);
double area = triangle.GetArea();
Console.WriteLine($"The area of the triangle with sides {a}, {b}, and {c} is: {area}");
}
catch (ArgumentException ex)
{
Console.WriteLine(ex.Message);
}
catch (Exception ex) // 更广泛的异常捕获
{
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
```
在这个示例中,我们处理了可能导致无效三角形的`ArgumentException`,以及其他可能出现的未知异常。当边长无法构成有效的三角形时,会抛出异常并给出相应的错误信息。
阅读全文