scala创建一个三角形对象,传入三条边为参数,写三个方法实现判断这三条边能否构成三角形,求面积,求周长
时间: 2024-03-24 20:39:15 浏览: 86
scala对象创建的流程分析-网络规划设计师考试(案例梳理、真题透解与强化训练)郭春柱(含目录)
好的,下面是Scala代码实现:
```scala
class Triangle(a: Double, b: Double, c: Double) {
def isTriangle: Boolean = {
if (a + b > c && a + c > b && b + c > a) true
else false
}
def area: Double = {
val p = (a + b + c) / 2
math.sqrt(p * (p - a) * (p - b) * (p - c))
}
def perimeter: Double = {
a + b + c
}
}
```
在这个类中,我们定义了三个方法:`isTriangle`、`area` 和 `perimeter`。`isTriangle` 方法用于判断三条边是否能够构成三角形,`area` 方法用于计算三角形的面积,`perimeter` 方法用于计算三角形的周长。
在类的构造器中,我们传入三条边的长度作为参数,然后在 `isTriangle` 方法中使用三个 if 语句来判断三条边是否能够构成三角形。如果能够构成三角形,返回 `true`,否则返回 `false`。
在 `area` 方法中,我们使用海伦公式计算三角形的面积。在 `perimeter` 方法中,我们直接计算三条边的和,即为三角形的周长。
使用方法如下:
```scala
val triangle = new Triangle(3, 4, 5)
if (triangle.isTriangle) {
println("面积:" + triangle.area)
println("周长:" + triangle.perimeter)
} else {
println("无法构成三角形!")
}
```
这里我们创建了一个三角形对象,传入了三条边的长度。然后我们判断这三条边是否能够构成三角形,如果能够构成,就计算三角形的面积和周长并输出。否则,输出无法构成三角形。
阅读全文