21xrx.com
2024-12-23 02:03:16 Monday
登录
文章检索 我的文章 写文章
《Java大作业代码:制作简单的计算器》
2023-06-11 14:53:08 深夜i     --     --

作为一名Java开发者,熟练掌握语言特性和编码规范是必须的,而完成一份Java大作业更是对技能的一次实践。在这篇文章中,我将分享我制作简单计算器的经历,并附上部分代码案例。

首先,我们需要一个可以进行用户输入输出的界面。在这里我使用了Swing GUI工具包,简单易用。


import javax.swing.*;

import java.awt.*;

public class Calculator extends JFrame {

  private JTextField textField;

  public Calculator() {

    setSize(300, 300);

    setLocationRelativeTo(null);

    setTitle("Calculator");

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    setLayout(new GridLayout(4, 4));

    textField = new JTextField();

    add(textField);

    JButton button1 = new JButton("1");

    add(button1);

    JButton button2 = new JButton("2");

    add(button2);

    JButton button3 = new JButton("3");

    add(button3);

    JButton buttonAdd = new JButton("+");

    add(buttonAdd);

    JButton button4 = new JButton("4");

    add(button4);

    JButton button5 = new JButton("5");

    add(button5);

    JButton button6 = new JButton("6");

    add(button6);

    JButton buttonMinus = new JButton("-");

    add(buttonMinus);

    JButton button7 = new JButton("7");

    add(button7);

    JButton button8 = new JButton("8");

    add(button8);

    JButton button9 = new JButton("9");

    add(button9);

    JButton buttonMultiply = new JButton("*");

    add(buttonMultiply);

    JButton buttonClear = new JButton("C");

    add(buttonClear);

    JButton button0 = new JButton("0");

    add(button0);

    JButton buttonEqual = new JButton("=");

    add(buttonEqual);

    JButton buttonDivide = new JButton("/");

    add(buttonDivide);

    setVisible(true);

  }

  public static void main(String[] args) {

    new Calculator();

  }

}

在这段代码中,我们创建了一个名为“Calculator”的类,它继承自JFrame,同时使用了GridLayout布局,以4x4网格的形式排列我们需要的按钮和文本域。接下来,我们需要为每个按钮添加监听事件,实现具体的计算功能。


public void actionPerformed(ActionEvent e) {

  String cmd = e.getActionCommand();

  if ("0123456789".contains(cmd)) {

    textField.setText(textField.getText() + cmd);

  } else if ("+-*/".contains(cmd)) {

    operation = cmd;

    firstNum = Double.parseDouble(textField.getText());

    textField.setText("");

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

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

      double result = firstNum + Double.parseDouble(textField.getText());

      textField.setText("" + result);

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

      double result = firstNum - Double.parseDouble(textField.getText());

      textField.setText("" + result);

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

      double result = firstNum * Double.parseDouble(textField.getText());

      textField.setText("" + result);

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

      double result = firstNum / Double.parseDouble(textField.getText());

      textField.setText("" + result);

    }

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

    textField.setText("");

  }

}

在这段代码中,我们添加了一个ActionListener监听器,当用户点击按钮时,会触发该事件。在这个事件中,我们使用ActionEvent的getActionCommand()方法获取用户点击的具体按钮,然后根据对应的按钮字符,来确定具体的操作。比如,如果用户点击的是数字0-9中的一个,我们就将该数字接在文本域后面,如果用户点击的是“+”、“-”、“*”或“/”按钮,就将该数字视为第一个操作数,并把该操作符保存在operation变量中。最后,如果用户点击的是“=”按钮,我们就根据operation的值,来计算出对应的结果。

综上所述,我们已经完成了一个简单的计算器,该程序可以实现基本的加、减、乘、除功能。如果想要继续扩展,可以尝试在原基础上添加更多功能,比如函数计算、复数计算等等。

代码案例、Swing GUI工具包、ActionListener监听器

  
  

评论区

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