如何编写一种称为计算器的方法,该方法接受三个字符串参数:
def calculator(operand1: String, operator: String, operand2: String): Unit
将操作数转换为Int; 在两个操作数上执行所需的数学运算符(+,-,*或/) 打印结果或一般错误消息
答案 0 :(得分:1)
您的问题表明,您自己付出了很少的努力来找到解决方案。
下一次在StackOverflow上提问时,请询问有关现有代码的问题(例如“为什么会收到此异常?”或“为什么我的代码不会编译?”),并且不要以为是互联网代码猴子会神奇地编写您的代码。
无论如何,由于您似乎是SO的新成员,def calculator
看起来像这样:
import scala.collection.immutable.StringOps._
import scala.util.{Try, Success, Failure}
def calculator(left: String, op: String, right: String): Unit = {
def parse(value: String) = Try(value.toDouble)
(parse(left), parse(right)) match {
case (Success(leftDouble), Success(rightDouble)) => {
op match {
case "/" => println(leftDouble / rightDouble)
case "*" => println(leftDouble * rightDouble)
case "+" => println(leftDouble + rightDouble)
case "-" => println(leftDouble - rightDouble)
case invalid: String => println(s"Invalid operator $invalid.")
}
}
case (Failure(e), _) => println(s"Could not parse $left.")
case(_, Failure(e)) => println(s"Could not parse $right.")
case(Failure(e1), Failure(e2)) => println(s"Could not parse $left and $right.")
}
}
如果您需要任何解释,请随时发表评论。
我希望这会有所帮助。