Java实现迷你计算机功能

迷你计算机是一种简化版的计算机,它可以执行基本的数学运算,如加法、减法、乘法和除法。在本文中,我们将使用Java编程语言实现迷你计算机的功能。

1. 设计思路

迷你计算机的功能主要包括输入表达式、解析表达式、执行计算、输出结果等步骤。我们将使用面向对象的方式来实现迷你计算机,将其划分为输入器、解析器、计算器和输出器四个类。

  1. 输入器:负责从用户获取输入的表达式。
  2. 解析器:负责解析表达式,将其转换为计算器可以处理的格式。
  3. 计算器:负责执行基本的数学运算。
  4. 输出器:负责将计算结果返回给用户。

2. 代码实现

输入器

输入器将通过Java的Scanner类来获取用户输入的表达式,并将其传递给解析器进行处理。

import java.util.Scanner;

public class InputHandler {
    public String getInput() {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入表达式:");
        String expression = scanner.nextLine();
        scanner.close();
        return expression;
    }
}

解析器

解析器将负责将用户输入的表达式解析为计算器可以处理的格式。在本例中,我们将使用简单的正则表达式来解析表达式,支持加减乘除四种运算符。

public class ExpressionParser {
    public String[] parseExpression(String expression) {
        String[] elements = expression.split(" ");
        return elements;
    }
}

计算器

计算器将负责执行基本的数学运算,并返回计算结果。

public class Calculator {
    public double calculate(double operand1, double operand2, String operator) {
        double result = 0;
        switch (operator) {
            case "+":
                result = operand1 + operand2;
                break;
            case "-":
                result = operand1 - operand2;
                break;
            case "*":
                result = operand1 * operand2;
                break;
            case "/":
                result = operand1 / operand2;
                break;
            default:
                System.out.println("不支持的运算符");
        }
        return result;
    }
}

输出器

输出器负责将计算结果返回给用户。

public class OutputHandler {
    public void displayResult(double result) {
        System.out.println("计算结果:" + result);
    }
}

主程序

主程序将协调各个类的功能,实现迷你计算机的完整功能。

public class MiniCalculator {
    public static void main(String[] args) {
        InputHandler inputHandler = new InputHandler();
        String expression = inputHandler.getInput();

        ExpressionParser expressionParser = new ExpressionParser();
        String[] elements = expressionParser.parseExpression(expression);

        double operand1 = Double.parseDouble(elements[0]);
        double operand2 = Double.parseDouble(elements[2]);
        String operator = elements[1];

        Calculator calculator = new Calculator();
        double result = calculator.calculate(operand1, operand2, operator);

        OutputHandler outputHandler = new OutputHandler();
        outputHandler.displayResult(result);
    }
}

3. 测试示例

输入表达式:2 + 3

输出结果:计算结果:5.0

输入表达式:4.5 * 2.5

输出结果:计算结果:11.25

4. 总结

通过以上的代码实现,我们成功地实现了迷你计算机的功能。用户可以通过输入器输入表达式,解析器将其转换为计算器可以处理的格式,计算器执行数学运算,并将结果通过输出器返回给用户。

这个例子展示了面向对象编程的基本思想,并展示了如何使用Java来实现一个简单的功能。希望这篇文章对你理解Java编程以及面向对象编程有所帮助。