21xrx.com
2025-03-25 11:21:42 Tuesday
文章检索 我的文章 写文章
作为一名Java程序员
2023-06-15 19:43:10 深夜i     12     0
Java 简易计算器 代码示例

作为一名Java程序员,我经常需要实现一些简单的计算器,以便快速地计算一些数字。在这篇文章中,我将为大家展示如何使用Java语言来实现一个简易计算器。

我们通过以下步骤来编写一个简单的计算器。

1.创建用户界面

首先,我们需要创建一个用户界面,用户可以在该界面上输入数字和操作符。我们可以使用Java Swing来实现这个目标。下面是一个使用Java Swing创建的简单计算器界面:

import java.awt.*;
import javax.swing.*;
public class CalculatorUI extends JFrame {
  private JTextField inputField;
  private JButton addButton, subtractButton, multiplyButton, divideButton, equalsButton;
  private Double currentNumber;
  private String selectedOperator;
  public CalculatorUI() {
    setTitle("简易计算器");
    setSize(300, 200);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(2, 1));
    inputField = new JTextField();
    inputField.setFont(new Font("宋体", Font.PLAIN, 24));
    panel.add(inputField);
    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new GridLayout(1, 5));
    addButton = new JButton("+");
    addButton.addActionListener(event -> operatorButtonClicked("+"));
    buttonPanel.add(addButton);
    subtractButton = new JButton("-");
    subtractButton.addActionListener(event -> operatorButtonClicked("-"));
    buttonPanel.add(subtractButton);
    multiplyButton = new JButton("*");
    multiplyButton.addActionListener(event -> operatorButtonClicked("*"));
    buttonPanel.add(multiplyButton);
    divideButton = new JButton("/");
    divideButton.addActionListener(event -> operatorButtonClicked("/"));
    buttonPanel.add(divideButton);
    equalsButton = new JButton("=");
    equalsButton.addActionListener(event -> equalsButtonClicked());
    buttonPanel.add(equalsButton);
    panel.add(buttonPanel);
    add(panel);
    setVisible(true);
  }
  private void operatorButtonClicked(String operator) {
    currentNumber = Double.parseDouble(inputField.getText());
    selectedOperator = operator;
    inputField.setText("");
  }
  private void equalsButtonClicked() {
    if (currentNumber == null || selectedOperator == null)
      return;
    
    Double secondNumber = Double.parseDouble(inputField.getText());
    Double result = 0.0;
    switch (selectedOperator) {
      case "+":
        result = currentNumber + secondNumber;
        break;
      case "-":
        result = currentNumber - secondNumber;
        break;
      case "*":
        result = currentNumber * secondNumber;
        break;
      case "/":
        result = currentNumber / secondNumber;
        break;
    }
    inputField.setText(Double.toString(result));
    currentNumber = null;
    selectedOperator = null;
  }
  public static void main(String[] args) {
    CalculatorUI ui = new CalculatorUI();
  }
}

2.实现计算器逻辑

在这个步骤中,我们需要编写代码来实现计算器的逻辑。当用户点击计算按钮时,我们需要从用户输入的数字中解析出两个数字,并将它们应用于所选的操作符上。然后,将计算结果显示在计算器界面上。

下面是计算器逻辑的代码:

private void operatorButtonClicked(String operator) {
    currentNumber = Double.parseDouble(inputField.getText());
    selectedOperator = operator;
    inputField.setText("");
  }
  private void equalsButtonClicked() {
    if (currentNumber == null || selectedOperator == null)
      return;
    
    Double secondNumber = Double.parseDouble(inputField.getText());
    Double result = 0.0;
    switch (selectedOperator) {
      case "+":
        result = currentNumber + secondNumber;
        break;
      case "-":
        result = currentNumber - secondNumber;
        break;
      case "*":
        result = currentNumber * secondNumber;
        break;
      case "/":
        result = currentNumber / secondNumber;
        break;
    }
    inputField.setText(Double.toString(result));
    currentNumber = null;
    selectedOperator = null;
  }

3.编写测试代码

最后,我们需要编写测试代码来确保我们的计算器能够正确地工作。下面是测试代码:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CalculatorUITest {
  @Test
  public void testAddition() {
    CalculatorUI ui = new CalculatorUI();
    ui.inputField.setText("2");
    ui.addButton.doClick();
    ui.inputField.setText("3");
    ui.equalsButton.doClick();
    assertEquals("5.0", ui.inputField.getText());
  }
  @Test
  public void testSubtraction() {
    CalculatorUI ui = new CalculatorUI();
    ui.inputField.setText("5");
    ui.subtractButton.doClick();
    ui.inputField.setText("2");
    ui.equalsButton.doClick();
    assertEquals("3.0", ui.inputField.getText());
  }
  @Test
  public void testMultiplication() {
    CalculatorUI ui = new CalculatorUI();
    ui.inputField.setText("2");
    ui.multiplyButton.doClick();
    ui.inputField.setText("3");
    ui.equalsButton.doClick();
    assertEquals("6.0", ui.inputField.getText());
  }
  @Test
  public void testDivision() {
    CalculatorUI ui = new CalculatorUI();
    ui.inputField.setText("6");
    ui.divideButton.doClick();
    ui.inputField.setText("3");
    ui.equalsButton.doClick();
    assertEquals("2.0", ui.inputField.getText());
  }
}

以上代码演示了如何使用Java语言实现一个简易计算器。我们通过Java Swing创建了用户界面,并使用 Java编写计算器逻辑。通过测试代码可以确保我们的计算器能够正确地工作。总的来说,这是一个非常有用且易于实现的项目,非常适合初学者。

  
  

评论区

请求出错了