21xrx.com
2024-09-20 00:01:29 Friday
登录
文章检索 我的文章 写文章
《如何通过Java程序设计实现一个基本的计算器》
2023-06-14 20:33:06 深夜i     --     --
Container contentPane = getContentPane()

Java程序设计是现代计算机科学领域中不可或缺的一环。在本次课程设计中,我们将通过使用Java编程语言,创建一个基本的计算器程序。

首先,创建一个简单的用户界面,它应该包括数字和运算符键。然后通过监听器实现对所有键的监控,将用户的输入添加到屏幕中。

其次,实现基本的算法功能。在这个计算器中,将实现加、减、乘、除四种基本的算法运算,并使其在用户按下“=”键时进行计算。同时,由于计算器需要处理不仅包含整数而且包含小数点的运算,所以需要特别处理小数的情况。

最后,完成计算器的基本设计后,应该进行必要的测试,确保其能够正常工作并且反应迅速。

在完成本次课程设计后,您将掌握Java程序设计和基本算法的实现技巧,提高您解决实际问题的能力。

以下是实现基本计算器的Java代码案例:


import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Calculator extends JFrame implements ActionListener {

  private static final long serialVersionUID = 1L;

  private JTextField field;

  private JButton button[];

  private String buttonNum[] = {"7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", ".", "=", "+"};

  private double number = 0.0, result = 0.0;

  private String oper = "";

  public Calculator() {

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗口关闭的操作

    setSize(330, 250); //设置窗口的大小

    setResizable(true); //设置窗口是否可以改变大小

    setTitle("Calculator"); //设置窗口的标签

    Container contentPane = getContentPane(); //获取窗口的内容面板

    field = new JTextField("", 12); //创建一个文本框

    contentPane.add("North", field); //将文本框添加到内容面板的上方

    JPanel buttonPanel = new JPanel(); //创建一个面板

    buttonPanel.setLayout(new GridLayout(4, 4)); //将面板的布局设置为4x4

    button = new JButton[16];

    for (int i = 0; i < buttonNum.length; i++) {

      button[i] = new JButton(buttonNum[i]);

      buttonPanel.add(button[i]); //将按钮添加到面板中

      button[i].addActionListener(this); //为按钮添加监听器

    }

    contentPane.add("Center", buttonPanel); //将面板添加到内容面板的中间

    setVisible(true); //设置窗口可见

  }

  public void actionPerformed(ActionEvent e) {

    if (e.getActionCommand() == "C") {

      field.setText("");

      number = result = 0.0;

      oper = "";

    } else if ("0123456789.".indexOf(e.getActionCommand()) != -1) {

      field.setText(field.getText() + e.getActionCommand());

    } else {

      if (oper.equals("")) {

        number = Double.parseDouble(field.getText());

        result = number;

      } else if (oper.equals("+")) {

        number = Double.parseDouble(field.getText());

        result = result + number;

      } else if (oper.equals("-")) {

        number = Double.parseDouble(field.getText());

        result = result - number;

      } else if (oper.equals("*")) {

        number = Double.parseDouble(field.getText());

        result = result * number;

      } else if (oper.equals("/")) {

        number = Double.parseDouble(field.getText());

        result = result / number;

      } else if (oper.equals("=")) {

        field.setText(String.valueOf(result));

      }

      oper = e.getActionCommand();

      field.setText("");

    }

  }

  public static void main(String args[]) {

    Calculator c = new Calculator();

  }

}

关键词:Java程序设计、计算器、用户界面

  
  

评论区

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