21xrx.com
2024-11-08 20:24:02 Friday
登录
文章检索 我的文章 写文章
Java实现简易计算器代码
2023-06-15 12:02:13 深夜i     --     --
Java 计算器 代码

计算器是我们生活中经常使用的工具,而通过Java代码实现一个简易计算器也是很有意思的一件事情。那么,该如何使用Java来实现一个简易计算器呢?

一、UI设计

Java的Swing是一种简单易用的图形界面开发工具,可以方便地实现计算器的显示界面。一个简易计算器主要包括显示器和按钮。拖拽展示出的组件就可以构建一个基本的计算器界面。

二、实现逻辑

计算器的基本逻辑是,用户点击数字按钮,输入数字,然后选择运算符,再输入另一个数字,最后计算结果。因此我们需要定义一个字符串变量用来存储用户输入,一个变量来存储当前操作符和一个变量来存储最近输入的数字。

接下来,我们需要使用Java的事件监听器来设置按钮的响应动作,捕获用户的点击事件。根据按钮所代表的数字或符号,进行相应的操作,最后将结果输出到显示器上。

三、完整代码

下面是一个简单的Java计算器代码:


import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Calculator extends JFrame{

  JPanel panel = new JPanel(new GridLayout(4, 4));

  JTextField displayField = new JTextField("");

  double lastNumber = 0;

  String lastOperator = "";

  String display = "";

  public Calculator() {

    setTitle("Calculator");

    setSize(300, 300);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Container contentPane = getContentPane();

    contentPane.setLayout(new BorderLayout());

    displayField.setEditable(false);

    contentPane.add(displayField, BorderLayout.NORTH);

    contentPane.add(panel, BorderLayout.CENTER);

    ActionListener lst = new ActionListener() {

      public void actionPerformed(ActionEvent e) {

        String cmd = e.getActionCommand();

        if (cmd.equals("+") || cmd.equals("-") || cmd.equals("*") || cmd.equals("/") || cmd.equals("=")) {

          calculate(Double.parseDouble(display));

          lastOperator = cmd;

          display = "";

        } else if (cmd.equals("C")) {

          display = "";

          displayField.setText(display);

        } else {

          display += cmd;

          displayField.setText(display);

        }

      }

      void calculate(double x) {

        if (lastOperator.equals("+")) {

          lastNumber += x;

        } else if (lastOperator.equals("-"))

          lastNumber -= x;

         else if (lastOperator.equals("*")) {

          lastNumber *= x;

        } else if (lastOperator.equals("/"))

          lastNumber /= x;

         else if (lastOperator.equals("="))

          lastNumber += x;

        

        displayField.setText("" + lastNumber);

      }

    };

    addButton("7", lst);

    addButton("8", lst);

    addButton("9", lst);

    addButton("/", lst);

    addButton("4", lst);

    addButton("5", lst);

    addButton("6", lst);

    addButton("*", lst);

    addButton("1", lst);

    addButton("2", lst);

    addButton("3", lst);

    addButton("-", lst);

    addButton(".", lst);

    addButton("0", lst);

    addButton("C", lst);

    addButton("+", lst);

    addButton("=", lst);

    setVisible(true);

  }

  private void addButton(String label, ActionListener lst) {

    JButton button = new JButton(label);

    button.addActionListener(lst);

    panel.add(button);

  }

四、关键词

Java、计算器、代码。

  
  

评论区

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