scala语言 2. 编写一个类来表示一个计算器,包括属性当前值和操作方法(如加add、减subtract、乘multiply、除divide)。要求该类具有一个函数(executeOperation)可以执行操作并返回结果。
时间: 2024-05-09 21:17:00 浏览: 128
scala-2.12.14.zip&scala-2.12.11.tgz Linux版本压缩包.rar
好的,第一个问题是关于scala语言编写一个计算器类的问题,很好。我可以给你一个示例代码作为参考:
```
class Calculator(var currentValue: Double) {
def add(value: Double): Unit = {
currentValue += value
}
def subtract(value: Double): Unit = {
currentValue -= value
}
def multiply(value: Double): Unit = {
currentValue *= value
}
def divide(value: Double): Unit = {
if (value != 0) {
currentValue /= value
} else {
throw new IllegalArgumentException("Cannot divide by zero!")
}
}
def executeOperation(operation: String, value: Double): Double = {
operation match {
case "add" => add(value)
case "subtract" => subtract(value)
case "multiply" => multiply(value)
case "divide" => divide(value)
case _ => throw new IllegalArgumentException("Invalid operation!")
}
currentValue
}
}
```
这个类包含了属性`currentValue`和操作方法`add`、`subtract`、`multiply`和`divide`,并且具有一个用于执行操作的函数`executeOperation`。你可以创建一个计算器对象,设置初始值,并通过调用`executeOperation`方法来执行想要的操作并获取当前值。比如:
```
val calculator = new Calculator(10.0)
calculator.executeOperation("add", 5.0) // 15.0
calculator.executeOperation("multiply", 2.0) // 30.0
calculator.executeOperation("divide", 0.0) // IllegalArgumentException: Cannot divide by zero!
```
阅读全文