用Java初步实现最简易的计算器
界面展示

功能:两个小数之间的加减乘除
代码实现
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- //简易计算器
- public class TestCalc {
- public static void main(String[] args) {
- new Calculator().loadFrame();
- }
- }
- //计算器类
- class Calculator extends Frame{
- //属性
- TextField num1,num2,num3,
- num4, num5,num6,
- num7,num8, num9,
- num10,num11,num12;
- //方法
- public void loadFrame(){
- Panel p1 = new Panel();
- Panel p2 = new Panel();
- Panel p3 = new Panel();
- Panel p4 = new Panel();
- Button button1 = new Button("=");
- Button button2 = new Button("=");
- Button button3 = new Button("=");
- Button button4 = new Button("=");
- p1.add(num1 = new TextField(10));
- p1.add(num2 = new TextField(10));
- p1.add(num3 = new TextField(10));
- p2.add(num4 = new TextField(10));
- p2.add(num5 = new TextField(10));
- p2.add(num6 = new TextField(10));
- p3.add(num7 = new TextField(10));
- p3.add(num8 = new TextField(10));
- p3.add(num9 = new TextField(10));
- p4.add(num10 = new TextField(10));
- p4.add(num11 = new TextField(10));
- p4.add(num12 = new TextField(10));
- button1.addActionListener(new MyAdd());//加
- button2.addActionListener(new MySubtract());//减
- button3.addActionListener(new MyMultiply());//乘
- button4.addActionListener(new MyDivide());//除
- //布局
- p1.add(num1);
- p1.add(new Label("+"));
- p1.add(num2);
- p1.add(button1);
- p1.add(num3);
- p2.add(num4);
- p2.add(new Label("-"));
- p2.add(num5);
- p2.add(button2);
- p2.add(num6);
- p3.add(num7);
- p3.add(new Label("*"));
- p3.add(num8);
- p3.add(button3);
- p3.add(num9);
- p4.add(num10);
- p4.add(new Label("/"));
- p4.add(num11);
- p4.add(button4);
- p4.add(num12);
- setLayout(new GridLayout(4,1));
- add(p1);
- add(p2);
- add(p3);
- add(p4);
- pack();
- windowClose();
- setVisible(true);
- }
- //监听器类
- private class MyAdd implements ActionListener {
- @Override
- public void actionPerformed(ActionEvent e) {
- //1.获得加数和被加数
- double n1 = Double.parseDouble(num1.getText());
- double n2 = Double.parseDouble(num2.getText());
- num3.setText(""+(n1+n2)); //2.将这个值+法运算后,放到第三个框
- num1.setText("");
- num2.setText(""); //3.清除前两个框
- }
- }
- private class MySubtract implements ActionListener{
- @Override
- public void actionPerformed(ActionEvent e) {
- //1.获得减数和被减数
- double n3 = Double.parseDouble(num4.getText());
- double n4 = Double.parseDouble(num5.getText());
- num6.setText(""+(n3-n4)); //2.将这个值-法运算后,放到第三个框
- num4.setText("");
- num5.setText(""); //3.清除前两个框
- }
- }
- private class MyMultiply implements ActionListener{
- @Override
- public void actionPerformed(ActionEvent e) {
- //1.获得相乘的两个数
- double n5 = Double.parseDouble(num7.getText());
- double n6 = Double.parseDouble(num8.getText());
- num9.setText(""+(n5*n6)); //2.将这个值*法运算后,放到第三个框
- num7.setText("");
- num8.setText(""); //3.清除前两个框
- }
- }
- private class MyDivide implements ActionListener{
- @Override
- public void actionPerformed(ActionEvent e) {
- //1.获得除数和被除数
- double n7 = Double.parseDouble(num10.getText());
- double n8 = Double.parseDouble(num11.getText());
- num12.setText(""+(n7/n8)); //2.将这个值/法运算后,放到第三个框
- num10.setText("");
- num11.setText(""); //3.清除前两个框
- }
- }
- //关闭窗体的事件
- private void windowClose(){
- addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- }
- }

浙公网安备 33010602011771号