当前位置: 代码迷 >> J2SE >> 小弟新手凭想象做了个计算器的初步加法运算如何实现呢
  详细解决方案

小弟新手凭想象做了个计算器的初步加法运算如何实现呢

热度:126   发布时间:2016-04-24 02:10:55.0
小弟新手凭想象做了个计算器的初步加法运算怎么实现呢?
小弟凭自己的想法写的,很多数字的实现也不知道对不对。但不知道加法怎么实现。文本框可以取出第一次输入的值,那么按了+号以后呢?第二次的值怎么去呢?也是gettext吗?试了很多次都不对, 希望给个思路和小小的提示就好,我继续写下去。会了加法,其他乘除也就会了


Java code
import java.awt.BorderLayout;import java.awt.EventQueue;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.*;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextField;import javax.swing.JButton;public class Calc extends JFrame implements ActionListener {    private JPanel contentPane;    private JButton JBone = new JButton("1");    private JButton JBtwo = new JButton("2");    private JButton JBthree = new JButton("3");    private JButton JBfour = new JButton("4");    private JButton JBfive = new JButton("5");    private JButton JBsix = new JButton("6");    private JButton JBseven = new JButton("7");    private JButton JBeight = new JButton("8");    private JButton JBnight = new JButton("9");    private JButton JBzero = new JButton("0");    private JButton JBpoint = new JButton(".");    private JButton JBadd = new JButton("+");    private JButton JBmultiply = new JButton("*");    private JButton JBdivide = new JButton("/");    private JButton JBsubtract = new JButton("-");    private JButton JBequals = new JButton("=");    private JButton JBdbzero = new JButton("00");    private JTextField tf = new JTextField();// 显示框    private JButton JBclear = new JButton("清零");    public Calc() {        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 369, 448);        setTitle("JAVA版计算器");        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        contentPane.setLayout(null);        setContentPane(contentPane);        tf.setBounds(10, 10, 333, 34);        contentPane.add(tf);        tf.setColumns(10);        tf.setEditable(false);        JBone.setBounds(30, 283, 52, 42);// 数字1        contentPane.add(JBone);        JBone.addActionListener(this);        JBtwo.setBounds(92, 283, 52, 42);// 数字2        contentPane.add(JBtwo);        JBtwo.addActionListener(this);        JBthree.setBounds(154, 283, 52, 42);// 数字3        contentPane.add(JBthree);        JBthree.addActionListener(this);        JBfour.setBounds(30, 231, 52, 42);// 数字4        contentPane.add(JBfour);        JBfour.addActionListener(this);        JBfive.setBounds(92, 231, 52, 42);// 数字5        contentPane.add(JBfive);        JBfive.addActionListener(this);        JBsix.setBounds(154, 231, 52, 42);// 数字6        contentPane.add(JBsix);        JBsix.addActionListener(this);        JBseven.setBounds(30, 179, 52, 42);// 数字7        contentPane.add(JBseven);        JBseven.addActionListener(this);        JBeight.setBounds(92, 179, 52, 42);// 数字8        contentPane.add(JBeight);        JBeight.addActionListener(this);        JBnight.setBounds(154, 179, 52, 42);// 数字9        contentPane.add(JBnight);        JBnight.addActionListener(this);        JBzero.setBounds(30, 343, 52, 42);// 数字0        contentPane.add(JBzero);        JBzero.addActionListener(this);        JBpoint.setBounds(92, 343, 52, 42);// 按钮.        contentPane.add(JBpoint);        JBpoint.addActionListener(this);        JBadd.setBounds(221, 283, 52, 102);// 按钮+        contentPane.add(JBadd);        JBadd.addActionListener(this);        JBmultiply.setBounds(221, 231, 52, 42);// 按钮*        contentPane.add(JBmultiply);        JBmultiply.addActionListener(this);        JBdivide.setBounds(283, 231, 52, 42);// 按钮/        contentPane.add(JBdivide);        JBdivide.addActionListener(this);        JBsubtract.setBounds(283, 283, 52, 42);// 按钮-        contentPane.add(JBsubtract);        JBsubtract.addActionListener(this);        JBequals.setBounds(283, 343, 52, 42);// 按钮=        contentPane.add(JBequals);        JBequals.addActionListener(this);        JBdbzero.setBounds(154, 343, 52, 42);// 按钮00        contentPane.add(JBdbzero);        JBdbzero.addActionListener(this);                JBclear.setBounds(270, 179, 65, 42);        contentPane.add(JBclear);        JBclear.addActionListener(this);            }        public void add() {        String a=tf.getText().trim();        tf.setText("");    }    public void actionPerformed(ActionEvent e) {        String m = null;        m = tf.getText().toString();        Integer g = null;        if (e.getSource() == JBone) {            if (m != null) {                m += "1";                tf.setText(m);            }        } else if (e.getSource() == JBtwo) {            if (m != null) {                m += "2";                tf.setText(m);            }        } else if (e.getSource() == JBthree) {            if (m != null) {                m += "3";                tf.setText(m);            }        } else if (e.getSource() == JBfour) {            if (m != null) {                m += "4";                tf.setText(m);            }        } else if (e.getSource() == JBfive) {            if (m != null) {                m += "5";                tf.setText(m);            }        } else if (e.getSource() == JBsix) {            if (m != null) {                m += "6";                tf.setText(m);            }        } else if (e.getSource() == JBseven) {            if (m != null) {                m += "7";                tf.setText(m);            }        } else if (e.getSource() == JBeight) {            if (m != null) {                m += "8";                tf.setText(m);            }        } else if (e.getSource() == JBnight) {            if (m != null) {                m += "9";                tf.setText(m);            }        } else if (e.getSource() == JBdbzero) {            if (m != null) {                m += "00";                tf.setText(m);            }        }else if (e.getSource() == JBpoint) {            if (m != null) {                m += ".";                tf.setText(m);            }        }else if (e.getSource() == JBclear) {                            tf.setText("");            }        else if (e.getSource() == JBadd) {            tf.setText("");                                            }else if (e.getSource() == JBequals) {            String n = tf.getText();            Integer h = Integer.parseInt(n);            g = Integer.parseInt(new String(m));            Integer sum = g+h;            tf.setText(sum.toString());                                }    }        public static void main(String[] args) {        EventQueue.invokeLater(new Runnable() {            public void run() {                try {                    Calc frame = new Calc();                    frame.setVisible(true);                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }}
  相关解决方案