21xrx.com
2024-12-22 20:28:01 Sunday
登录
文章检索 我的文章 写文章
Java实现简单的计算器:基础版
2023-06-18 10:44:29 深夜i     --     --
Java 计算器 AWT/Swing

在现代生活中,计算器的应用十分普遍,但是有时候我们并不想使用复杂的计算器,只需要一个简约而易用的计算器就能满足需求。那么,今天我们就来学习一下如何使用Java实现一个基础版的计算器。

首先,我们需要设计计算器的界面,如下:


-----------------------------------

|       Calculator     |

|                 |

|       输入框       |

|                 |

| +  | -  | * | / | C | = |

|                 |

-----------------------------------

在界面上,我们可以看到一个文本框,用来输入计算表达式,还有加、减、乘、除、清除、等号等按钮。那么,接下来我们就来一步步实现这个计算器。

第一步,创建Java工程,并创建一个名为Calculator的类。

第二步,需要在界面上添加文本框和按钮,我们可以使用AWT/Swing组件来实现。下面是添加按钮的代码示例:


//创建一个计算器按钮

private JButton createButton(String label, ActionListener listener) {

  JButton button = new JButton(label);

  button.addActionListener(listener);

  return button;

}

//使用如下方式创建各个按钮

JButton addButton = createButton("+", new OperatorAction("+"));

JButton minusButton = createButton("-", new OperatorAction("-"));

JButton multiplyButton = createButton("*", new OperatorAction("*"));

JButton divideButton = createButton("/", new OperatorAction("/"));

JButton clearButton = createButton("C", new ClearAction());

JButton equalsButton = createButton("=", new CalculateAction());

第三步,需要编写事件处理程序,用于实现按钮的功能。例如,在按钮按下的时候,我们需要获取文本框中的表达式并进行计算。下面是计算器按钮的事件处理程序示例:


private class OperatorAction implements ActionListener {

  private String operator;

  public OperatorAction(String operator)

    this.operator = operator;

  

  @Override

  public void actionPerformed(ActionEvent e) {

    op1 = Double.parseDouble(display.getText());

    operatorForNext = operator;

    display.setText("");

  }

}

private class ClearAction implements ActionListener {

  @Override

  public void actionPerformed(ActionEvent e) {

    display.setText("");

  }

}

private class CalculateAction implements ActionListener {

  @Override

  public void actionPerformed(ActionEvent e) {

    op2 = Double.parseDouble(display.getText());

    double result = calculate(op1, op2, operatorForNext);

    display.setText("" + result);

  }

}

第四步,实现计算器的计算方法。例如,当用户按下等号按钮时,我们需要将输入的表达式进行计算,然后显示结果。下面是计算方法的示例:


private double calculate(double op1, double op2, String operator) {

  double result = 0;

  switch (operator) {

    case "+":

      result = op1 + op2;

      break;

    

    case "-":

      result = op1 - op2;

      break;

  

    case "*":

      result = op1 * op2;

      break;

  

    case "/":

      try

        result = op1 / op2;

       catch (ArithmeticException e) {

        JOptionPane.showMessageDialog(

            this,

            "除数不能为0",

            "错误",

            JOptionPane.ERROR_MESSAGE);

      }

      break;

  }

  return result;

}

最后,我们需要将各个组件组合到一起并显示出来即可。

至此,Java实现简单的计算器的基础版本就完成了,虽然代码行数不是很多,但是已经具备了基础计算器功能。随着学习的深入,我们可以对代码进行优化和扩展,增强计算器的功能和容错性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复