多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Kotlin 程序:使用`switch...case`制作一个简单的计算器 > 原文: [https://www.programiz.com/kotlin-programming/examples/calculator-when](https://www.programiz.com/kotlin-programming/examples/calculator-when) #### 在此程序中,您将学习使用 Kotlin 中的`when`表达式制作一个简单的计算器。 该计算器将能够对两个数字进行加,减,乘和除运算。 ## 示例:使用`switch`语句的简单计算器 ```kt import java.util.* fun main(args: Array<String>) { val reader = Scanner(System.`in`) print("Enter two numbers: ") // nextDouble() reads the next double from the keyboard val first = reader.nextDouble() val second = reader.nextDouble() print("Enter an operator (+, -, *, /): ") val operator = reader.next()[0] val result: Double when (operator) { '+' -> result = first + second '-' -> result = first - second '*' -> result = first * second '/' -> result = first / second // operator doesn't match any case constant (+, -, *, /) else -> { System.out.printf("Error! operator is not correct") return } } System.out.printf("%.1f %c %.1f = %.1f", first, operator, second, result) } ``` 运行该程序时,输出为: ```kt Enter two numbers: 1.5 4.5 Enter an operator (+, -, *, /): * 1.5 * 4.5 = 6.8 ``` 使用`Scanner`对象的`next()`方法,将用户输入的`*`运算符存储在`operator`变量中。 同样,使用`Scanner`对象的`nextDouble()`方法,将两个操作数 1.5 和 4.5 分别存储在变量`first`和`second`中。 由于运算符`*`匹配何时条件`'*':`,因此程序控制跳至 ```kt result = first * second; ``` 该语句计算产品并将结果存储在变量`result`中,并使用`printf`语句进行打印。 以下是等效的 Java 代码:[制作简单计算器的 Java 程序](/java-programming/examples/calculator-switch-case "Java Program to Make a Simple Calculator")