原文: https://www.programiz.com/java-programming/examples/calculator-switch-case

在此程序中,您将学习使用 Java 中的switch..case创建一个简单的计算器。 该计算器将能够对两个数字进行加,减,乘和除运算。

示例:使用switch语句的简单计算器

  1. import java.util.Scanner;
  2. public class Calculator {
  3. public static void main(String[] args) {
  4. Scanner reader = new Scanner(System.in);
  5. System.out.print("Enter two numbers: ");
  6. // nextDouble() reads the next double from the keyboard
  7. double first = reader.nextDouble();
  8. double second = reader.nextDouble();
  9. System.out.print("Enter an operator (+, -, *, /): ");
  10. char operator = reader.next().charAt(0);
  11. double result;
  12. switch(operator)
  13. {
  14. case '+':
  15. result = first + second;
  16. break;
  17. case '-':
  18. result = first - second;
  19. break;
  20. case '*':
  21. result = first * second;
  22. break;
  23. case '/':
  24. result = first / second;
  25. break;
  26. // operator doesn't match any case constant (+, -, *, /)
  27. default:
  28. System.out.printf("Error! operator is not correct");
  29. return;
  30. }
  31. System.out.printf("%.1f %c %.1f = %.1f", first, operator, second, result);
  32. }
  33. }

运行该程序时,输出为:

  1. Enter two numbers: 1.5
  2. 4.5
  3. Enter an operator (+, -, *, /): *
  4. 1.5 * 4.5 = 6.8

使用Scanner对象的next()方法,将用户输入的*运算符存储在operator变量中。

同样,使用Scanner对象的nextDouble()方法,将两个操作数 1.5 和 4.5 分别存储在变量firstsecond中。

由于运算符*匹配何时条件'*':,因此程序控制跳至

  1. result = first * second;

该语句计算乘积并将结果存入变量resultbreak语句结束switch语句。

最后,执行printf语句。

注意:我们使用了printf()方法而不是println。 这是因为这里我们要打印格式化的字符串。 要了解更多信息,请访问 Java printf()方法